Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
上面的代码
preg_match('~\b(rain|dry|certain|clear)\b~i',$string);
它就像一个魅力,但是当我搜索带有强调字符的单词时它不起作用。有人可以帮我吗
好吧,从技术上讲,a 和 á 和 à 对于解释器来说都是不同的字符。它们的编码方式不同,并且无法知道哪些不同的编码代表“相似”字符(在某些语言中,重音字符是完全不同的字母)。因此,您需要包含所有要匹配的变体。但是,如果您需要字符串中的实际偏移量,您可能会遇到困难,因为对于 UTF-8 字符串,偏移量是以字节而不是字符给出的。
有关如何包含字符的所有版本的示例,请参阅此 SO 问题。
如果您遇到错误偏移量的问题,则此错误报告。