プロが教える店舗&オフィスのセキュリティ対策術

デコメをPHPで受信するプログラムを作成しています。
htmlをこのように修正しました。

----------------------------------
<DIV style="background-color:#FFCCFF">
<DIV>1<IMG src="cid:01@100112.210419@____SO903i@docomo.ne.jp"></DIV>
<DIV>2<IMG src="cid:02@100112..210419@____SO903i@docomo.ne.jp"></DIV>
<DIV>3<IMG src="cid:03.100112.161836__930SC@softbank.ne.jp"></DIV>
<DIV>4<IMG src="cid:04@100112.173217"></DIV>
</DIV>
----------------------------------

IMGタグは機種によって異なるので、あえて混合させています。
これを正規表現でcid:の後の数字だけに入れ替えたいです。
可能でしょうか。

----------------------------------
<DIV style="background-color:#FFCCFF">
<DIV>1<IMG src="01"></DIV>
<DIV>2<IMG src="02"></DIV>
<DIV>3<IMG src="03"></DIV>
<DIV>4<IMG src="04"></DIV>
</DIV>
----------------------------------

よろしくお願い致します。

A 回答 (1件)

こんなかんじ?



<?
$html=<<<eof
<DIV style="background-color:#FFCCFF">
<DIV>1<IMG src="cid:01@100112.210419@____SO903i@docomo.ne.jp"></DIV>
<DIV>2<IMG src="cid:02@100112..210419@____SO903i@docomo.ne.jp" alt="hoge"></DIV>
<DIV>3<IMG id="fuga" src="cid:03.100112.161836__930SC@softbank.ne.jp"></DIV>
<DIV>4<IMG src="cid:04@100112.173217"></DIV>
<DIV>5<IMG src="cid:xxxx@yyyyy.zzzzz" /></DIV>
</DIV>
eof;
$pattern="/<IMG (.*?)src=\"cid:([0-9]+).*?\"(.*?)>/i";
$replacement="<IMG $1src=\"$2\"$3>";
$html=preg_replace($pattern,$replacement,$html);
print htmlspecialchars($html);
?>
    • good
    • 0
この回答へのお礼

出来ました!
ありがとうございます。

お礼日時:2010/01/13 16:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!