dポイントプレゼントキャンペーン実施中!

phpで以下のような独自タグで挟まれた文字列を、変換したいのですがやり方が分かりません。
どのようにしたら良いのでしょうか?

$str="[font red]&quot;あいうえお&quot;<br />かきくけこ<br />さしすせそ<br />[/font]";

↓変換後

$str="<font color="red">"あいうえお"\nかきくけこ\nさしすせそ\n</font>";

A 回答 (1件)

微妙な変換なので、ちょっと手を抜くとこんな感じ


ちなみに変換後の例示はクォートが競合して文法的におかしい

<?PHP
$str="test[font red]&quot;あいうえお&quot;<br />かきくけこ<br />さしすせそ<br />[/font]test";
$pattern="/\[font (.+?)\](.+?)\[\/font\]/mis";

if(preg_match($pattern,$str,$m)){
$replacement=str_replace(array("&quot;","<br />"),array("\"","\n"),$m[0]);
$str=str_replace($m[0],$replacement,$str);
$replacement="<font color=\"$1\">$2</font>";
$str=preg_replace($pattern,$replacement,$str);
print $str;
}
    • good
    • 0
この回答へのお礼

一旦正規表現で抜き出してから、当該文字と入れ替えればよかったんですね
参考になりました。
ありがとうございます。

お礼日時:2015/12/15 08:41

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