php - 正则表达式和正斜杠

标签 php regex preg-replace

我正在通过正则表达式在字符串中搜索关键字。它适用于所有关键字,但其中包含正斜杠的关键字除外:“time/emit”。

即使使用 preg_quote($find,'/') 转义它,我仍然收到消息:

Unknown modifier 't' in /frontend.functions.php  on line 71

如果我打印查找模式,它会显示 /time\\/emit/ 。如果没有 preg_quote,它会显示 /time/emit/ 并且都返回相同的错误消息。

任何一点知识都会有用。

最佳答案

尝试使用与/不同的符号开始和结束正则表达式

我个人使用`

我见过有人使用#

我认为大多数字符都很好。您可以在此处阅读更多信息:http://pl.php.net/manual/en/regexp.reference.delimiters.php

像这样:

 preg_match('#time/emit#', $subject);  // instead of /time/emit/

换句话说:您的 $find 变量应该包含 #time/emit# 而不是/time/emit/

关于php - 正则表达式和正斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3145264/

相关文章:

php - 用于清除空的、不必要的 HTML 标记的正则表达式

php - 为什么我的 JSON 函数不起作用?

php - 默认的 mb_internal_encoding() 值来自哪里?

PHP 以 Apache 用户而不是指定用户的身份连接到 MySQL

Regex Express 返回 '/' 之前的所有字符,但如果有 2 个 '/' 则在此之前返回所有字符

sql - 使用 Oracle Regexp 从字段中提取电子邮件

php - MySQL:无法更新现有的 NULL 值

c++ - 带有数字的特定单词的正则表达式

php - 如何使用 preg_replace 在 PHP 中转义 $?

PHP 的 preg_replace 在用空格替换下划线时返回 null