2017-06-05 9 views
0

HTMLのすべてのタグを空白に置き換えるために、ereg_replace関数を使用していました。私の場合はタグは次のようになります。{{AGE}} {{NAME}} {{EMAIL_ADDRESS}}PHP preg_replace string

私は(PHP 7で削除されました)この文を使用していました:

$my_string = ereg_replace("\{\{[a-zA-Z_0-9]+\}\}", "", $my_string); 

今私が考えereg_replaceに代わりの文章を使うのが好きで、私はこれを試しました。

$my_string = preg_replace("\{\{[a-zA-Z_0-9]+\}\}", "", $my_string); 

これはエラーを投げます。 pregの最初のパラメータがeregと同じではないようです。誰かがそれを修正して{{ここに何か}}の形式のタグを置き換える方法を教えてもらえますか?

ありがとうございました。

答えて

1

preg_* -functionsでは、式にはデリミタ(式の先頭と末尾に、式が終了する任意の修飾子が始まる基になるエンジンを示す文字)が必要です。

ほとんどの開発者は、そう、区切り文字のため/を使用します。

$my_string = preg_replace("/\{\{[a-zA-Z_0-9]+\}\}/", "", $my_string); 

私はあなたがエスケープいないと逃げることができるかもしれませんので{}文字は、正規表現で特別な意味を持っていないと思いますが、それら:

$my_string = preg_replace("/{{[a-zA-Z_0-9]+}}/", "", $my_string);