php - 转义字符串以用于正则表达式

标签 php regex escaping pcre

Possible Duplicate:
Is there a PHP function that can escape regex patterns before they are applied?

我想在正则表达式中使用存储在变量中的字符串。 (在 PHP 中)转义字符串以用于(PCRE)正则表达式的最佳方法是什么?

例如,

$text = 'm/z';  // this is the text I want to use as part of my regular expression
$text_regexp = '#' . $text . '#i';  // this is my regular expression

愿意

$text_regexp = '#m/z#i';

但我想要以下正则表达式:

$text_regexp = '#m\/z#i';

这是一个人为的例子,但我想简单地说明这一点。

最佳答案

preg_quote

来自手册:

puts a backslash in front of every character that is part of the regular expression syntax

你也可以将分隔符作为第二个参数传递,它也会被转义。但是,如果您使用 # 作为分隔符,则无需转义 /

关于php - 转义字符串以用于正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4936342/

相关文章:

php - 使用 python 或 php 处理音频文件

regex - 如何在Perl中提取字符串的一部分?

php - 使用正则表达式提取两个单词之间的单词

java - 如何使用正则表达式模式检查字符串中每 12 个字符应该是 , ?

html - 如何对字符串进行 HTML 编码/转义?有内置的吗?

php - MySQL 和 PHP 中的全局语言

javascript - 最后一个内联列表项随附加列表一起消失

php - 如何在 Ubuntu 14.04 上更改 php-cli 版本?

javascript - 使用 fetch() 发布时未设置 Cookie

php - 是否有一些代码可以用来过滤字符串,将转义字符放在无效的 MySQL 字符前面?