管道字符(|)不被接受为正则表达式的一部分

时间:2012-10-30 10:22:42

标签: php regex

正则表达式php不接受(" | ' ) ,
这是我的$pattern = '/(img|src)=("|')[^"'>]+/i';

如何解决("|')问题。

2 个答案:

答案 0 :(得分:2)

我认为问题出在模式内部。您的模式在单引号之间定义,因此您必须转义模式的单引号部分。 试试这个:

$pattern = '/(img|src)=("|\')[^"\'>]+/i';

答案 1 :(得分:1)

你可以试试这个:

  

$ pattern ='/(img | src)=(“\ |')[^”'>] + / i';