首页 > 后端开发 > php教程 > 如何忽略 PHP 正则表达式中的转义引号?

如何忽略 PHP 正则表达式中的转义引号?

Patricia Arquette
发布: 2024-11-28 17:29:11
原创
512 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板