kostenloser Webspace werbefrei: lima-city


Aus Quellcode Variable width&height filtern und evt ersetzen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. <?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
  4. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    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
  5. $xpath->query('//*')


    Sollte damit gehen.
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!