【发布时间】:2014-09-22 10:11:21
【问题描述】:
我有一个 preg_match_all 来搜索段落中的单词。它找不到西里尔字符等。如何更改它以执行所有类型的字符(英语、西里尔文、重音字符等):
preg_match_all( '/\b' . $testWord .'\b/i', $content, $matches, PREG_OFFSET_CAPTURE );
我尝试将 u 添加到正则表达式的末尾,这似乎是一个解决方案,但我在这里询问这是否是最佳做法,或者是否有更好的方法我正在显示的正则表达式。
preg_match_all( '/\b' . $testWord .'\b/iu', $content, $matches, PREG_OFFSET_CAPTURE );
谢谢
【问题讨论】:
-
我认为您的处理方式是错误的...我会说将您的 testWord 替换为
\p{L}+,它匹配来自任何语言的任何类型的字母。
标签: php regex preg-match-all