2011-07-19 9 views
1

がどのように変換するにpreg_replace文字列を書くのですか "[" と "]" が含まれている文字列を置換するには? "["、 "]"と "|"彼らが予約されているので。にpreg_replaceは

答えて

0
preg_replace('~\[\[(.+)\|(.+)\]\]~iUs','<a href="$2">$1</a>',$string); 
5

\[,および\|のように、シンボルの前に\を使用してエスケープしてください。

1

ちょうどあなたの正規表現でそれらをエスケープ:"[" =>"\["

+0

argが遅すぎます。タイムマシンに! – Kodiak

0

を他のはすでに述べたように、あなたは\を使用して、任意の特殊文字をエスケープする必要があります。 preg_quoteを使って正規表現に渡されたテキストをエスケープすることもできます(ディナミック正規表現を構築する場合には非常に便利です)