用于查找和替换的正则表达式模式匹配

Regex Pattern match to find and replace

我正在尝试创建一个正则表达式模式来查找并替换我的 HTML 模板中的 IMG src 标签。

本质上,模式应该找到 src 的内容:

然后将其替换为: none

在上面的代码中,源代码总是相同的 data-lazy-src 正在更改

尝试如下操作:

preg_replace('/(<img.*) src=\"[^"]*\"(.*>)/', ' src="none"', $html)

我同意正则表达式不一定是执行此操作的正确方法。这是使用 HTML Dom 解析器的解决方案:

  $html = 'your markup';
  $doc = new DOMDocument();
  $doc->loadHTML($html);

  $tags = $doc->getElementsByTagName('img');
  if(count($tags) > 0) {
       $tag = $tags->item(0);
       $tag->setAttribute('src', $new_src_url);
       $doc->saveHTML($tag);
  }

然后,$doc 应该让您更新后的标记更改图像的 src 属性。