正規表示式忽略PHP 中引號內的轉義引號
在PHP 中,通常需要解析和運算包含轉義引號的字串。用於匹配單引號和雙引號內的字串的現有正規表示式可能不會忽略轉義引號,這可能會導致意外結果。
解:
忽略轉義引號在引號內,我們可以使用下列正規表示式:
Double引號:
$re_dq = '/"[^"\\]*(?:\\.[^"\\]*)*"/s';
單引號:
$re_sq = "/'[^'\\]*(?:\\.[^'\\]*)*'/s";
這些正規表示式遵循Jeffrey Friedl 在他的《掌握正規表示式》一書中概述的原則。它們允許匹配轉義字符,包括引號。
替換單引號和雙引號的建議 PHP 程式碼是:
$code = preg_replace_callback( $re_dq, array( &$this, '_getPHPString' ), $code ); $code = preg_replace_callback( $re_sq, array( &$this, '_getPHPString' ), $code );
以上是如何忽略 PHP 正規表示式中的轉義引號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!