Aus Quellcode Variable width&height filtern und evt ersetzen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
-
Hallo Lc,
ich hoffe der Titel is nicht zuuuu doof gewählt.
Ich habe in einer Variable einen HTML Quellcode der mehrmals die angaben width&height enthält.
Ich möchte diese nun rausfiltern und prüfen ob die breite größer als 200px ist wenn ja soll er sie auf 200 setzen. Eben so bei der Höhe, ist das Element höher als 250 px soll diese aus 250px gesetzt werden.
Wäre cool wenn ihr mit helfen könntet.
LG
christian
edit:
<p width="322" height="292"></p>
soll zu:
<p width="200" height="250"></p>
werden.
ABER
<p width="180" height="230"></p>
soll sich nicht ändern.
Beitrag zuletzt geändert: 28.11.2011 17:39:46 von christian1603 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
<?php $url = 'http://example.com'; $html = @file_get_contents($url); $doc = new DOMDocument(); $doc->loadHTML($html); $xpath = new DOMXpath($doc); foreach ($xpath->query('//p') as $elm) { if($elm->getAttribute('width') > 200) { $elm->setAttribute('width', '200'); } if($elm->getAttribute('height') > 250) { $elm->setAttribute('height', '250'); } } $code = $doc->saveHTML(); echo $code; ?>
Beitrag zuletzt geändert: 28.11.2011 18:01:25 von fabo -
fabo schrieb:
<?php $url = 'http://example.com'; $html = @file_get_contents($url); $doc = new DOMDocument(); $doc->loadHTML($html); $xpath = new DOMXpath($doc); foreach ($xpath->query('//p') as $elm) { if($elm->getAttribute('width') > 200) { $elm->setAttribute('width', '200'); } if($elm->getAttribute('height') > 250) { $elm->setAttribute('height', '250'); } } $code = $doc->saveHTML(); echo $code; ?>
oO Hammer?
Ich hab echt nur mit einen kleinen Tipp gerechnet und gleich sowas hammer :)
Nur eine Frage hätte ich noch :) Kann man die foreach funktion so umschreiben das sie nicht nur "<p>" elemente sondern alle prüft? Wäre kein "Muss" aber cool xD
LG
Beitrag zuletzt geändert: 28.11.2011 19:07:05 von christian1603 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage