PHP头条
热点:

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


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

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

 代码如下 复制代码

<img ico src="/noavatar_small.gif" />

<img src="/noavatar_small.gif" />

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

例子:

 代码如下 复制代码
<s*imgs+[^>]*?srcs*=s*('|")(.*?)\1[^>]*?/?s*>

经改进后..

正确解答如下

 代码如下 复制代码

/<img(?:(?!(ico)).)+/>/

实例

 代码如下 复制代码

//要替换的内容   
    $content = '<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">';

    //提取图片路径的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['SERVER_NAME'];

                $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);

www.phpzy.comtrue/php/21332.htmlTechArticlephp 正则表达式提取图片url程序 先用正则表达式获取IMG标签,然后把每个IMG标签的SRC抽取出来,并且组合成自己的内容,最后进行替换 我想对 html 的图片进行提取. 代码如下 复制代码...

相关文章

PHP之友评论

今天推荐