将多个 preg_replace 合并为一个

Combining multiple preg_replace into one

我想删除所有 class="imgbrd lazy" 之后的 删除任何 scr="" 之后的 更改 data-originalscr

单独来看是这样的

$input = preg_replace('#class="imgbrd lazy"#s', '' ,$input);
$input = preg_replace('#src=".*?"#s', '' ,$input); 
$input = preg_replace('#data-original=#s', 'src=' ,$input); 

假设 $input 是这个

<img class="imgbrd lazy" src="/something/iage.png" data-original="/albums/uploadedpics/small1/017246.jpg" border="0">

问题是即使找不到 "imgbrd lazy"scr 也会被删除

class="imgbrd lazy"([\s\S]*?)src=".*?"

使用 的 this.Replace。查看演示。

https://regex101.com/r/tX2bH4/40

看来你想要这样的东西,

class="imgbrd lazy"\s+src=".*?"\s+data-original=

使用上面的正则表达式,然后将匹配的字符替换为src=

DEMO