php - preg_replace正在复制标签而不是替换它们

时间:2015-05-30 14:13:32

标签: php html regex preg-replace src

尝试查看我的imap消息,如果找到任何img标签,请用新链接替换它们。

看看这里: http://codepad.viper-7.com/WGxtw7

到目前为止我已经

$message = imap_fetchbody($imap,$email_number,"2"); //2
$message = quoted_printable_decode($message);

$img_replace = $message;
$img_replace = preg_replace('~src="cid.*?"~',"src=\"new-link\"", $img_replace);
echo $img_replace;

使用这段代码,我得到了带有新链接的img标签,但不是被替换它们是重复的,所以我的最终输出显示了链接和imgs。

生成的消息将显示类似下面的html,src,width和height总是不同的,只需要用新链接替换src(没有重复)。

    <h2>Message: <div dir="ltr">this is a test with 2 inline images<div><br></div>
<div><img src="cid:ii_iaa9ibac0_14da215402096e51" width="544" height="340"><br><br></div>
<div><br></div><div><img src="cid:ii_iaa9inn31_14da2157f7bb06e9" width="405" height="405"><br><br></div></div>
    </h2>

应该看起来像:

    <h2>Message: <div dir="ltr">this is a test with 2 inline images<div><br></div>
<div><img src="new-link" width="544" height="340"><br><br></div>
<div><br></div><div><img src="new-link" width="405" height="405"><br><br></div></div>
    </h2>

所以我想的是获得一个能够:

的功能
  • 查看最终的html
  • 如果img src属性以&cid:&#39;
  • 开头
  • 使用&#39; new-link&#39;
  • 替换src链接

任何想法?

0 个答案:

没有答案