質問

すべての<br><br/>とすべての可能なBRの組み合わせが<br />に変換するために、単純なにpreg_replaceを必要とします。

これは、私はつまり、文字列を処理できるように、順番に作業する必要があります。 $output = preg_replace('', '<br />', $input)

みんなありがとう!

役に立ちましたか?

解決

それらすべてを支配する一つの正規表現ます:

$output = preg_replace('/<\s*br[^>]*>/i', '<br />', $input);

他のヒント

[必須HTMLパーサコメント]

(あなたがしているように聞こえるよう)あなたは、未知の非一貫性のあるHTMLで作業している場合は、正規表現を置く、あなたは自分自身を傷つける可能性があります。タグのリストを検索し、文書を変更すると、HTMLパーサはのために造られたものです。

PHPのDOMメソッドに学び、自分自身に心痛の多くを保存します。

/ <?[bBを] [rRを]?/? ?> /

このパターンを試してみてください
<\s*[bB][rR]\s*\/?\s*>
$output = preg_replace('/< ?[bB][rR] ?\/? ?>/', '<br />', $input);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top