UTF8安全的preg_quote()替代?

时间:2014-08-12 09:55:13

标签: php regex utf-8

这个函数似乎没有mb版本,据我所知的PHP文档(found here)。有人显然已经提出了这个问题,但他们的报告被忽略了,因为它没有正确格式化(found here)。有没有替代preg_quote(),我不知道,或者它只是必须是UTF8字符串的大型正则表达式?

如果它有所不同(我怀疑它确实如此,但我可能会把它扔出去),我需要处理的字符是简体中文,这是日语字符集(片假名)的一个子集。 / p>

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

1 个答案:

答案 0 :(得分:2)

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

如果您使用多字节分隔符,则会出现问题,但我不知道您为什么会这样做或者是否支持它。

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