Php UTF8安全预扣()替代方案?

Php UTF8安全预扣()替代方案?,php,regex,utf-8,Php,Regex,Utf 8,从上面的PHP文档()可以看出,这个函数似乎没有mb版本。显然有人已经提出了这个问题,但是他们的报告被置之不理,因为它的格式不正确()。对于preg_quote(),是否有我不知道的替代方法,或者它必须是一个用于UTF8字符串的大型正则表达式 如果它有区别的话(我怀疑它有区别,但我还是把它扔掉吧),我需要处理的字符是简体中文,这是日语字符集(片假名)的一个子集 为了清楚起见,我确实尝试只使用preg_quote(),但它弄坏了字符。我也在研究这个问题,但后来研究了utf-8编码,并意识到它不会有

从上面的PHP文档()可以看出,这个函数似乎没有mb版本。显然有人已经提出了这个问题,但是他们的报告被置之不理,因为它的格式不正确()。对于preg_quote(),是否有我不知道的替代方法,或者它必须是一个用于UTF8字符串的大型正则表达式

如果它有区别的话(我怀疑它有区别,但我还是把它扔掉吧),我需要处理的字符是简体中文,这是日语字符集(片假名)的一个子集


为了清楚起见,我确实尝试只使用preg_quote(),但它弄坏了字符。

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

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


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

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

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


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

不要使用mb_*库来处理正则表达式,因为PCRE支持带u修饰符的UTF8。1)日语不是“片假名”,简体中文也不是它的子集。2) 你到底遇到了什么问题?显示一段示例代码(关闭的bug报告也没有任何示例)。3) 对我有用:不要将mb_*库用于正则表达式,因为PCRE支持带u修饰符的UTF8。1)日语不是“片假名”,简体中文也不是它的子集。2) 你到底遇到了什么问题?显示一段示例代码(关闭的bug报告也没有任何示例)。3) 为我工作: