首頁 >後端開發 >php教程 >如何忽略 PHP 正規表示式中的轉義引號?

如何忽略 PHP 正規表示式中的轉義引號?

Patricia Arquette
Patricia Arquette原創
2024-11-28 17:29:11489瀏覽

How to Ignore Escaped Quotes in PHP Regex?

正規表示式忽略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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn