首页 > 后端开发 > php教程 > php 正则表达式提取图片url程序

php 正则表达式提取图片url程序

PHP中文网
发布: 2023-02-28 18:46:01
原创
1818 人浏览过

先用正则表达式获取IMG标签,然后把每个IMG标签的SRC抽取出来,并且组合成自己的内容,最后进行替换

我想对 html 的图片进行提取.

<img ico src="/noavatar_small.gif" />
<img src="/noavatar_small.gif" />
登录后复制

如上地址. 我想全部提取出来 但是包含'ico' 的地址 忽略. 求正则 , 就是有些图片 提取.有些不提取.

例子:

<s*imgs+[^>]*?srcs*=s*(&#39;|")(.*?)\1[^>]*?/?s*>
登录后复制

经改进后..

正确解答如下

/<img(?:(?!(ico)).)+/>/
登录后复制

实例

//要替换的内容 
$content = &#39;<img alt="" src="js/fckeditor/UserFiles/image/F201005201210502415831196.jpg" width="600" height="366"><br><br><br><br><img alt="" src="js/fckeditor/UserFiles/image/33_avatar_middle.jpg" width="120" height="120">&#39;;

//提取图片路径的src的正则表达式
preg_match_all("/<img(.*)src="([^"]+)"[^>]+>/isU",$content,$matches);

$img = "";
if(!empty($matches)) {
//注意,上面的正则表达式说明src的值是放在数组的第三个中
$img = $matches[2];
}else {
$img = "";
}
if (!empty($img)) {
$img_url = "http://".$_SERVER[&#39;SERVER_NAME&#39;];

$patterns= array();
$replacements = array();

foreach($img as $imgItem){

$final_imgUrl = $img_url.$imgItem;
$replacements[] = $final_imgUrl;

$img_new = "/".preg_replace("///i","/",$imgItem)."/";
$patterns[] = $img_new;

}

//让数组按照key来排序
ksort($patterns);
ksort($replacements);

//替换内容
$vote_content = preg_replace($patterns, $replacements, $content);
登录后复制

相关文章:

php正则表达式提取html标签的问题

提取html标签的php代码示例

通过php提取HTML标签

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板