当前位置: 首页 > 面试题库 >

…中的未知修饰符“ /”?它是什么?[重复]

南门正祥
2023-03-14
问题内容

这个问题已经在这里有了答案

[警告:preg_replace():未知修饰符“]” ](file:///C:/questions/20705399/warning-preg-
replace-unknown-modifier) (3个答案)

11个月前关闭。

当我写以下内容时,我得到这样的警告,它与任何内容都不匹配,但是我敢肯定,其中$row_search['content']包含$value

preg_match_all("/[^\s]*".preg_quote($value)."[^\s]*/iu", $row_search['content'], $final_matched);

WARNING:preg_match_all() [function.preg-match-all]: Unknown modifier '/' in C:\xampp\htdocs\finance\search\search.php on line 82

为什么我会收到这样的警告消息?

谢谢


问题答案:

我假设$value包含一个斜杠/,不能通过以下方式转义preg_quote

特殊的正​​则表达式字符为: . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -

将您使用的定界符传递给函数:

preg_match_all("/[^\s]*".preg_quote($value, '/')."[^\s]*/iu", $row_search['content'], $final_matched);
//                                        ---^

或使用其他定界符。



 类似资料:
  • 问题内容: 好吧,所以我目前正在解析RSS feed。我已经获得了我没有问题的数据,剩下的只是解析游戏名称。 这是我当前拥有的代码(忽略草率,这只是概念的证明): 一切都很好,但是随后我开始出现此错误: 我剩下的唯一一件事就是剔除结束锚标签和句点,但是我似乎无法弄清楚为什么它不喜欢’+’。有任何想法吗? 编辑:这不应被标记为重复,因为在另一个问题问了两年之前就被问到了。 问题答案: 您需要在PHP

  • 问题内容: preg_replace(‘/http:///ftp:///', ‘https://’, $value); 和内应改为 此代码给出错误: 什么是此任务的真正正则表达式? 问题答案: 尝试使用其他定界符,例如: 或(不建议使用)对正则表达式中每次出现的定界符进行转义: 另外,您正在搜索的确没有太大意义的模式,可能就是您的意思。 您可以将正则表达式缩短为: 了解错误: 在您的regex中,

  • 为什么字段resultsqueue的修饰符重复?即使当我将resultQueue名称更改为每隔一个名称时,仍然会得到这个错误。当我在main函数中移动resultsQueue时,我不会得到这个错误。 这是我的代码:

  • 问题内容: 我有以下错误: 警告:preg_replace():第38行上xxx.php中的未知修饰符’]’ 这是第38行的代码: 我该如何解决这个问题? 问题答案: 为什么会发生错误 在PHP中,正则表达式需要包含在一对定界符内。分隔符可以是任何非字母数字,非反斜杠,非空格字符;,,是最常用的。需要注意的是,还可以使用支架风格分隔符在打开和关闭括号开始和结束的分隔符,即,等等都是有效的。 在以下

  • 问题内容: 我知道这不仅适用于Java,而且适用于许多语言,但这是我最熟悉的语言。 我了解修饰符的作用以及如何使用它们。我只想知道,为什么我们需要它们?为什么每个对象都无法访问,无论是否需要访问? 问题答案: 当您必须维护更大的项目时,原因变得更加明显。当方法或变量是公共的时,对它进行更改时必须小心,因为您永远不知道代码库的哪些部分依赖于它的确切行为。 但是,当变量或方法是私有的时,您会知道该变量

  • 问题内容: 如果我没有明确声明,方法或实例变量的默认访问修饰符是什么? 例如: 此构造函数的访问修饰符是受保护的还是打包的?同一包(即)中的其他类可以调用此构造函数吗? 问题答案: 如果一个类没有修饰符(默认值,也称为),则它仅在其自己的包中可见(包被命名为相关类的组,你将在以后的课程中对其进行了解。) 在,你也可以像顶级类一样使用修饰符或(),并且含义相同。