preg_replace について奇妙な質問をさせてください。
HTML ドキュメント内で < br /> のようなタグを
に置き換える必要があります。
$demo = "abc < br/> ; def" ;
$demo = preg_replace('< *br */ *>', '
', $demo);
最終的なデモ結果は "abc" です<
> def"
山括弧が余分にあるのはなぜですか?
ただし、同じ方法で ereg_replace を使用すると機能します:
$demo = "abc
def" ;
$demo = ereg_replace('< *br */ * > ;', '
', $demo);
デモ出力: "abc
def"
php では将来 ereg_replace が廃止されると聞きましたが、この関数 preg_replace には、理由もなく常に余分な山かっこが外側にあります。
なぜですか?
-----解決策---------
$demo = preg_replace('#< *br */ *>#', '
', $demo);
あなたの'< *br */ * >'、'
' は区切り文字として <> を使用します