PHP - resmin üzerine boş alt etiketini değiştirmek için nasıl

3 Cevap php

Geçerli görüntü benziyor

<img src="images/example.jpg" />

img src alt="" yoksa Şimdi, kod kendisi görüntüyü gibi yerini alacak

<img src="images/example.jpg" alt="" />

Php ile nasıl yapılabilir?

3 Cevap

İşte SimpleXML ile bunu yapmanın bir örnek.

<?php

$html = '<html>
    <body>
        <img src="foo.jpg" />
    </body>
</html>';

$xml = new SimpleXMLElement($html);

foreach ($xml->xpath('//img') as $img) {
    if (!array_key_exists('alt', $img->attributes())) {
        $img->addAttribute('alt', '');
    }
}

echo $xml->asXML();

Çıkış olacaktır:

<?xml version="1.0"?>
<html>
    <body>
        <img src="foo.jpg" alt=""/>
    </body>
</html>

Hızlı çözüm, görüntüler hep bu biçimde takip varsayarak, bu:

$search = '/<img src="([^"]+)" \/>/';
$replace = '<img src="$1" alt="" />';
$code = preg_replace( $search, $replace, $code );

Ancak, ben senin motifler soru. Boş bir alt etiketi ekleme oldukça anlamsızdır.

geçerli XML ise, kaynak unmarshall, remarshall xml özniteliği arama deneyin ve yoksa ayarlamak, ağaç görüntü etiketleri arıyor hareket, ve, herhangi bir iyi bir XML çözümleyici (örneğin SimpleXML) hakkında kullanabilirsiniz ...

10-liner ya da öyle olmalıdır ...

iyi şanslar ... :)