preg_replace img src,width,height stack overflow

时间:2017-11-28 19:00:49

标签: php html

这是我的代码:

$content = '<p><img src="http://localhost/contents/uploads/sdadaasa.jpg" width="1500" height="900"></p>';
$content = preg_replace('/<p><img.+src=[\'"]([^\'"]+)[\'"].*>/i', "<p class=\"the-image\"><img class=\"lazy-load\" src=\"$1\" width=\"\" height=\"\"/></p>", $content);
return $content;

我的代码是为<p>代码和<img>代码添加了一个类。

现在我想从$content获取宽度和高度,因为我的代码正在删除width和height属性。

1 个答案:

答案 0 :(得分:0)

要解析HTML,最好使用任何库,例如,DomDocument

$content = '<p><img src="http://localhost/contents/uploads/sdadaasa.jpg" width="1500" height="900"></p>';

$dom = new DomDocument();
$dom->loadHTML($content);

$p = $dom->getElementsByTagName('p')->item(0);
$p->setAttribute('class', 'the-image');
$img = $p->getElementsByTagName('img')->item(0);
$img->setAttribute('class', 'lazy-load');
echo $dom->saveHTML($p); 
// <p class="the-image"><img src="http://localhost/contents/uploads/sdadaasa.jpg" width="1500" height="900" class="lazy-load"></p>