[英]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()
接收字符串,並在作為正則表達式語法一部分的每個字符前加一個反斜杠。 如果您有需要在某些文本中匹配的運行時字符串,並且該字符串可能包含特殊的正則表達式字符,這將很有用。
$output = preg_split("/(".preg_quote($beginDelimiter)."|".preg_quote($endDelimiter)."/", $text);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.