2012-06-21 6 views
1

내가 PHPPHP preg_replace에 <br><br> | BBCode는

$s = preg_replace("#\[URL\=(.*)\](.*)\[\/URL\]#Ui", "<a href=\"$1\" target=\"_blank\">$2</a>", $s); 
$s = preg_replace("#\[CODE\=(.*)\](.*)\[\/CODE\]#Uis", "<pre class=\"brush: $1\">$2</pre>", $s); 
$s = preg_replace("#\[URL\](.*)\[\/URL\]#Ui", "<a href=\"$1\" target=\"_blank\">$1</a>", $s); 
$s = preg_replace("#\[IMG\](.*)\[\/IMG\]#Ui", "<p align='center'><img src=\"$1\" border=\"0\" /></p>", $s); 

에서 정규식 패턴이 어떻게 자바 스크립트에 사람들을 변환 할 수 있습니다?

나는이 조합을 시도했지만 작동하지 않습니다 (?)

body.replace(/\[URL\=(.*)\](.*)\[\/URL\]/g, '<a href=\"$1\" target=\"_blank\">$2</a>'); 

을 @Kolink 이 하나의 이미지

body = body.replace(/\[IMG\]([\d\D]*)\[\/IMG\]/gi, '<p align="center"><img src="$1" border="0" /></p>'); 

위해 일하고 있지만 나는 두 번째 이미지 그것은 모든 충돌을 추가하는 경우 이 예의 경우,

[IMG]http://www.someimage.com/123.jpg[/IMG]Test 
[IMG]http://www.someimage.com/456.jpg[/IMG] 

일치 당신은 정규식은 대소 문자를 구별 만들기 위해 gi를 추가 할 필요가

http://www.someimage.com/123.jpg[/IMG]Test[IMG]http://www.someimage.com/456.jpg 
+0

'body' - 문자열 또는 DOM 객체 란 무엇입니까? – raina77ow

+0

문자열입니다. – svenkapudija

답변

2

될 것입니다.

또한 JavaScript는 "여러 줄"수정자를 지원하지 않습니다. 대신, 을 [\d\D]과 같이 바꿔야합니다.

+0

'/ s'은 실제로 한 줄 수정 자라고 불립니다.) – raina77ow

+0

나는 그 포스트를 편집했다. 여러 코드에서 작동하지 않습니다./EDIT : 바꾸지 않으면 얻었습니다. (점) 작동합니다. – svenkapudija

+0

'*'다음에'?'를 추가하십시오. 이렇게하면 한 번에 하나의 이미지를 처리 ​​할 수 ​​있습니다. –