如何用正则表达式替换data-src的src?

时间:2019-01-08 13:07:30

标签: php html regex

我在html中有整页,在输出之前,我想将所有img src替换为data-src 我正在使用

  return (preg_replace('~<img[^>]*\K(?=src)~i','data-',$buffer));

但这与例如

不匹配
<img alt="alt" src="src">

仅当src在第一位时匹配

<img src="src"

我无法像我想要的那样工作,您能帮我编辑此模式以执行我需要的吗?

1 个答案:

答案 0 :(得分:1)

我认为这应该对您有用:

preg_replace("/(<img[^>]*)src=/", "$1data-src=", '<img alt="alt" src="src">');

$1是一个反向引用,表示第一个匹配的组(模式括号中的所有内容)。