0

上面的代码

preg_match('~\b(rain|dry|certain|clear)\b~i',$string);

它就像一个魅力,但是当我搜索带有强调字符的单词时它不起作用。有人可以帮我吗

4

1 回答 1

0

好吧,从技术上讲,a 和 á 和 à 对于解释器来说都是不同的字符。它们的编码方式不同,并且无法知道哪些不同的编码代表“相似”字符(在某些语言中,重音字符是完全不同的字母)。因此,您需要包含所有要匹配的变体。但是,如果您需要字符串中的实际偏移量,您可能会遇到困难,因为对于 UTF-8 字符串,偏移量是以字节而不是字符给出的。

有关如何包含字符的所有版本的示例,请参阅此 SO 问题。

如果您遇到错误偏移量的问题,则此错误报告。

于 2012-09-20T19:19:00.243 回答