大家好:)我正在尝试使用strpos()在一个句子中查找整个单词.但此刻,如果它只是另一个词的一部分,它也会找到这个词.例如:
$mystring = "It's a beautiful morning today!";
$findme = "a";
$pos = strpos($mystring, $findme);
Run Code Online (Sandbox Code Playgroud)
在这个例子中,它会在单词"a"(它应该这样做)中找到"a",但也会在"beautiful"中找到,因为其中有一个a.
我怎样才能找到整个单词而不是它是否是其他单词的一部分?
这是正则表达式的工作:
$regex = '/\b'.$word.'\b/';
Run Code Online (Sandbox Code Playgroud)
基本上,它找到由字边界(\b位)包围的字母.所以,找到位置:
preg_match($regex, $string, $match, PREG_OFFSET_CAPTURE);
$pos = $match[0][1];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9728 次 |
| 最近记录: |