
功能块 PREG_FILTER 使用正则表达式进行搜索和替换。
注意:此函数是二进制安全的。这意味着 UTF8 字符不能直接处理。
除了功能块 PREG_FILTER 仅在匹配时返回(可能转换的)字符串外,它与功能块 PREG_REPLACE 完全相同。
要搜索的表达式作为字符串。也可以使用一些 PCRE 修饰符。
用于替换的字符串。此字符串可包含形式为 \n 或 $n 的引用,其中后者更优先。这些引用中的每一个都会被第 n 个括号内的搜索模式捕获的文本替换。n 可以是 0 到 99 之间的值。\0 或 $0 指的是与完整搜索模式匹配的文本。要获取捕获子搜索模式的编号,请从左到右按顺序对开括号进行计数,起始值为 1。在替换中使用反斜杠时,必须将其加倍 "\\"。
如果您要处理一个替换,其中回退引用后面直接跟着另一个数字(即,与搜索模式匹配后应该有一个数字),则不能使用 \1 形式的写法来进行您的回退引用。例如,\11 会使函数感到困惑,因为它不知道您是想要回退引用 \1 后面跟着数字 1,还是仅仅回退引用 \11。在这种情况下,解决方案是使用 ${1}1。这样会生成一个隔离的回退引用 $1,而 1 剩为字母符号。
如果您使用了过时的修饰符 e,此函数会对要替换回退引用的字符串中的一些字符(即 '、"、\ 和 NULL)进行遮蔽。这样做是为了确保在使用包含单引号或双引号的回退引用时不会出现语法错误。请确保您了解字符串语法,以便准确地知道评估后的字符串看起来是什么样子。
该输入定义了要搜索的字符串。
每个 subject 中每个搜索模式的最大可能替换次数。默认值:-1 或 NULL(无限制)。
如果找到匹配项(可能转换的),则返回新字符串 Q,否则返回未更改的 SUBJECT 或 NULL,如果发生错误。
该输出返回执行的替换次数。