質問
すべての<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);
所属していません StackOverflow