php正则替换字符串中的图片地址

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tclzsn7456/article/details/88043024
$want_to_be = ['aaaaaa', 'bbbbbb'];
        $stem = '<p>这是图片一,但是地址不对<img src="111111" width="100">这是图片二,地址也不对</p ><span><img src="222222"></span>';
        $pattern='/src=\"(.+?)\".*?/';
        preg_match_all($pattern, $stem, $match);

        $src_array = array();
        if ($match)
            $src_array = $match[1];

        var_dump(str_replace($src_array, $want_to_be, $stem));

这里匹配src后面的图片地址,会匹配所有的,转换成想要的地址

原字符串:

执行结果:

简单说一下这个正则什么意思:

/src=\"(.+?)\".*?/

src=    匹配'src='字符串后面的内容;

\"         转义符"表示匹配双引号(这里想要仅仅字符串匹配到src=后面开始的双引号);

(.+?)    匹配到就不往后继续查字符串下面了(这里指的是只匹配一个,即src=后面开始的双引号);

\"         转义符"表示匹配双引号(这里是匹配到src="111111后面结束的双引号);

.*?       继续匹配(可以多个)后面字符串中符合上述条件的字符串;

猜你喜欢

转载自blog.csdn.net/tclzsn7456/article/details/88043024