2011-08-02 5 views
0

텍스트의 서식을 담당하는 정규식을 만들려고합니다. 공백 행이 여러 개인 경우 공백 행과 공백 행이있을 때 공백 행만 변환합니다. 공백 행과 공백 행이 함께있을 경우 첫 번째 변환이 작동하지 않기 때문에 공백 행을 하나씩 변환합니다. 내 코드는 다음과 같습니다.두 개의 정규식을 PHP로 변환 하시겠습니까?

$string = str_replace(array("\r\n","\r","\n"), "<br />", $string); 
$string = preg_replace("/<br \/>(\s|<br \/>)+<br \/>/", "<br /><br />", $string); 
echo $string; 

어떻게하면 두 줄 정규식을 만들 수 있습니까?

나는이 함께했는데, 그것을 잘 작동하지 않습니다

$string = preg_replace("/(\r\n|\r|\n)(\s|(\r\n|\r|\n))+(\r\n|\r|\n)/", "<br /><br />", $string); 

감사

답변

0

새로운 라인이있을 때 단지 공백을 대체하지 이유 :

$string = preg_replace("/\s*\r?\n/", "<br /><br />", $string); 
+0

정규식은 마지막 줄 시작 부분 (마지막 CRLF 다음)에서 공백을 제거합니다. 스택 오버 플로우와 같은 코드 형식이 있다면 어떨까요? – scaryzet

+0

좋아요, 쉽게 고칠 수 있습니다 ... 해결되었습니다! –

관련 문제