1

PHPに正規表現パターンがあります

$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);

それらをJavaScriptに変換するにはどうすればよいですか?

この組み合わせでやってみたのですがうまくいきません(?)

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>');

しかし、2番目の画像を追加すると、この例ではすべてがクラッシュします

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

試合は

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

1 に答える 1

2

正規表現で大文字と小文字を区別しないようにするiには、の後に追加する必要があります。g

さらに、JavaScriptは「複数行」修飾子をサポートしていません。.代わりに、のようなものに置き換える必要があります[\d\D]

于 2012-06-21T14:55:47.220 に答える