アプリ版:「スタンプのみでお礼する」機能のリリースについて

phpで、ある文章の中から"["と"]"で囲まれた部分を取得して、取得された部分を元に任意の処理をした後、その結果を元の"[~]"と置き換えたいのですが、方法がわかりません。
どなたかご教授お願いします。

例えば、以下の$contentの内容を$dataを使って最終的に(結果)の状態にしたいのです。

$content = "あいうえお[abcde]かきくけこ[fghij]さしすせそ";
$data["abcde"] = array("url"=>"aaa_abcde.html","title"=>"1つめ");
$data["fghij"] = array("url"=>"bbb_fghij.html","title"=>"2つめ");

(結果)
あいうえお<a href="aaa_abcde.html">1つめ</a>かきくけこ<a href="bbb_fghij.html">2つめ</a>さしすせそ

A 回答 (1件)

preg_replaceでe修飾子を使います。



<?
$content = "あいうえお[abcde]かきくけこ[fghij]さしすせそ";
$data=array(
"abcde" => array("url"=>"aaa_abcde.html","title"=>"1つめ"),
"fghij" => array("url"=>"bbb_fghij.html","title"=>"2つめ")
);
$pattern="/\[(.*?)\]/e";
$replacement='"<a href=\"".$data[\'\\1\'][\'url\']."\">".$data[\'\\1\'][\'title\']."</a>"';
$content=preg_replace($pattern,$replacement,$content);
print htmlspecialchars($content);
?>
    • good
    • 0
この回答へのお礼

おかげさまで希望通りの結果が得られました。
助かりました、どうもありがとうございました!

お礼日時:2010/01/22 16:16

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