0

データベースから取得したこの種のレコードがあり、フォーマット値をデコードし、適切な html タグに置き換えて、表示時に正常に機能するようにします。

[size=150:3a9xfsiy][color=#000080:3a9xfsiy]hello world[/color:3a9xfsiy][/size:3a9xfsiy]

このレコードは phpBB によって作成されたもので、phpBB の制御外にある Web サイトの他の部分に表示するために使用しています。

私が試みたのは PREG_REPLACE を使用することですが、質問は、正規表現で異なる形式のタグを 1 つとして読み取る方法はありますか? 例:

[size=150:3a9xfsiy] and [/size:3a9xfsiy] must be searched in a single preg_replace
4

2 に答える 2

1

Phpbb はこのための関数を提供します。Generate_text_for_display。db から取得する場合は、phpbb 関数を含めて、この関数を適用します。

また、このクラスを使用できます。

テキストの解析について詳しくは、こちらをご覧ください。

于 2013-01-08T03:48:22.930 に答える
1
<?
    $ret = 'I gave my Word to you Word.';
    $pattern = '/\bWord\b/i';
    $ret = preg_replace($pattern,"Heart",$ret);
    var_dump($ret);
?>

string(29) "ハートをあなたにあげました。"

または、これがあなたに合っている場合

str_replace を使用できます。

$str = str_replace(array('<tag>', '</tag>'), array('<newtag>', '</newtag>', $str);
于 2013-01-08T03:41:39.337 に答える