Maison  >  Article  >  développement back-end  >  正则表达式 - PHP正则批量替换Img中src疑问?

正则表达式 - PHP正则批量替换Img中src疑问?

WBOY
WBOYoriginal
2016-08-22 11:45:371586parcourir

1、一个描述内容,形如:
<p><img src="file:///C:/Users/Administrator/Desktop/%E6%B5%8B%E8%AF%95/data/5201608091357/contentPic/%E9%BA%BB%E7%9F%AD%E8%A3%9916/1643805e-1.jpg" alt="正则表达式 - PHP正则批量替换Img中src疑问?" ><br><img src="file:///C:/Users/Administrator/Desktop/%E6%B5%8B%E8%AF%95/data/5201608091357/contentPic/%E9%BA%BB%E7%9F%AD%E8%A3%9916/1643805e-2.jpg" alt="正则表达式 - PHP正则批量替换Img中src疑问?" ><br><img src="file:///C:/Users/Administrator/Desktop/%E6%B5%8B%E8%AF%95/data/5201608091357/contentPic/%E9%BA%BB%E7%9F%AD%E8%A3%9916/1643805e-3.jpg" alt="正则表达式 - PHP正则批量替换Img中src疑问?" ><br></p>

2、现在我的需求是批量替换src中的图片路径,能够改成路径为/upload/img/,请问正则改怎么写呢?

回复内容:

1、一个描述内容,形如:
<p><img src="file:///C:/Users/Administrator/Desktop/%E6%B5%8B%E8%AF%95/data/5201608091357/contentPic/%E9%BA%BB%E7%9F%AD%E8%A3%9916/1643805e-1.jpg" alt="正则表达式 - PHP正则批量替换Img中src疑问?" ><br><img src="file:///C:/Users/Administrator/Desktop/%E6%B5%8B%E8%AF%95/data/5201608091357/contentPic/%E9%BA%BB%E7%9F%AD%E8%A3%9916/1643805e-2.jpg" alt="正则表达式 - PHP正则批量替换Img中src疑问?" ><br><img src="file:///C:/Users/Administrator/Desktop/%E6%B5%8B%E8%AF%95/data/5201608091357/contentPic/%E9%BA%BB%E7%9F%AD%E8%A3%9916/1643805e-3.jpg" alt="正则表达式 - PHP正则批量替换Img中src疑问?" ><br></p>

2、现在我的需求是批量替换src中的图片路径,能够改成路径为/upload/img/,请问正则改怎么写呢?

str_replace('file:///C:/Users/Administrator/Desktop/测试/data/5201608091357/contentPic/麻短裙16/','/upload/img/',$str)

1.因为你的前缀是固定的话,用str_replace的效率其实更高的。
2.如果不是固定的话,可以参考以下的方法preg_replace_callback
3.调试记得用查看源代码的形式。

<code><?php $str = '<p><img  src="file:///C:/Users/Administrator/Desktop/%E6%B5%8B%E8%AF%95/data/5201608091357/contentPic/%E9%BA%BB%E7%9F%AD%E8%A3%9916/1643805e-1.jpg" alt="正则表达式 - PHP正则批量替换Img中src疑问?" ><br><img  src="file:///C:/Users/Administrator/Desktop/%E6%B5%8B%E8%AF%95/data/5201608091357/contentPic/%E9%BA%BB%E7%9F%AD%E8%A3%9916/1643805e-2.jpg" alt="正则表达式 - PHP正则批量替换Img中src疑问?" ><br><img  src="file:///C:/Users/Administrator/Desktop/%E6%B5%8B%E8%AF%95/data/5201608091357/contentPic/%E9%BA%BB%E7%9F%AD%E8%A3%9916/1643805e-3.jpg" alt="正则表达式 - PHP正则批量替换Img中src疑问?" ><br>';

    echo $str;

    $pregRule = "/file:\/\/\/C:\/Users\/Administrator\/Desktop\/测试\/data\/5201608091357\/contentPic\//";

    $result = preg_replace_callback($pregRule, function(){
        return "/upload/img/";
    }, $str);
    echo $result;</code>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn