php preg_split 表达式引发警告
php preg_split expression raises warning
我的一个正则表达式发出了警告,我只是想不通为什么或如何更改表达式以使其正常工作。
我必须逃避什么吗?如果是,为什么以及如何?我想更好地理解...
$output = preg_split("/($beginDelimiter|$endDelimiter)/", $text);
PHP Warning: preg_split(): Compilation failed: missing ) at offset 15 in /home/tim/importer.php on line 539
感谢您的帮助!
编辑:
$beginDelimiter 包含 SRF53
$endDelimiter 包含 (
肯定是第二个问题,明白了。。。需要转义。
使用 preg_quote
,因为您的变量包含需要在 regex
.
中转义的特殊字符
preg_quote()
takes string and puts a backslash in front of every character that is part of the regular expression syntax. This is useful if you have a run-time string that you need to match in some text and the string may contain special regex characters.
$output = preg_split("/(".preg_quote($beginDelimiter)."|".preg_quote($endDelimiter)."/", $text);
我的一个正则表达式发出了警告,我只是想不通为什么或如何更改表达式以使其正常工作。 我必须逃避什么吗?如果是,为什么以及如何?我想更好地理解...
$output = preg_split("/($beginDelimiter|$endDelimiter)/", $text);
PHP Warning: preg_split(): Compilation failed: missing ) at offset 15 in /home/tim/importer.php on line 539
感谢您的帮助!
编辑:
$beginDelimiter 包含 SRF53
$endDelimiter 包含 (
肯定是第二个问题,明白了。。。需要转义。
使用 preg_quote
,因为您的变量包含需要在 regex
.
preg_quote()
takes string and puts a backslash in front of every character that is part of the regular expression syntax. This is useful if you have a run-time string that you need to match in some text and the string may contain special regex characters.
$output = preg_split("/(".preg_quote($beginDelimiter)."|".preg_quote($endDelimiter)."/", $text);