문제

모두 변환하려면 간단한 preg_replace가 필요합니다. <br> <br/> 그리고 가능한 모든 br 조합을 <br />.

문자열을 처리할 수 있도록 순서대로 작동해야 합니다. 즉:$output = preg_replace('', '<br />', $input)

모두 감사합니다!

도움이 되었습니까?

해결책

모두를 지배하는 하나의 RegEx:

$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