UTF8 安全 preg_quote() 替代方案?

Fib*_*con 0 php regex utf-8

似乎没有这个函数的 mb 版本,据我所知,它的 PHP 文档(在这里找到)。显然有人已经提出了这个问题,但他们的报告被搁置一旁,因为它的格式不正确(在这里找到)。是否有我不知道的 preg_quote() 替代方法,或者它是否只需要成为 UTF8 字符串的大型正则表达式?

如果它有所作为(我怀疑它确实如此,但我不妨把它扔在那里),我需要处理的字符是简体中文,它是日语字符集(片假名)的一个子集。

需要明确的是,我确实尝试只使用 preg_quote(),但它破坏了字符。

小智 5

我也在看这个,但后来看了 utf-8 编码并意识到它不会有问题,因为多字节序列中的所有字节都将其 msb 设置为 1,并且所有受 preg_quote 影响的字符都在 ASCII 7-位范围。受影响的字符没有重叠,因此 preg_quote 可以正常工作。

如果您使用多字节分隔符,您会遇到问题,但我不知道您为什么想要它或是否支持它。

虽然这个问题已经有一年了,但我认为它会帮助其他人寻找相同的信息。