2012-12-15 108 views
1

我在這是針對一個數組正常的字符串匹配工作以下罰款REG-EX,正則表達式匹配特殊字符

preg_grep("/^". $name . "$/i", $values); 

但是它不工作對於具有特殊字符,如「字符串娛樂(一般)「。

找到一個相關的thread但是它的Java腳本,也沒有幫助。

回答

5

使用preg_quote功能轉義任何特殊字符,可能是在字符串中

preg_grep("/^". preg_quote($name, '/') . "$/i", $values); 

documentation

preg_quote()把一個反斜槓在每一個字符的前面是的一部分正則表達式語法。如果您需要在某些文本中匹配運行時字符串,並且該字符串可能包含特殊的正則表達式字符,這非常有用。

+0

啊。我錯過了那個功能? :(。感謝您的快速回應:) – Mathankumar