我想检查字符串'client'中是否存在搜索关键字'cli'或'ent'或'cl'这个词,并且不区分大小写。我使用了模式'\ bclient \ b'的preg_match函数。但它没有显示正确的结果。找不到匹配错误。使用php比较部分字符串
请任何人能帮助
感谢
我想检查字符串'client'中是否存在搜索关键字'cli'或'ent'或'cl'这个词,并且不区分大小写。我使用了模式'\ bclient \ b'的preg_match函数。但它没有显示正确的结果。找不到匹配错误。使用php比较部分字符串
请任何人能帮助
感谢
我不会用正则表达式这一点,它的额外开销和复杂性,其中一个普通字符串函数就足够了。为什么不用stripos()呢?
$str = 'client';
$terms = array('cli','ent','cl');
foreach($terms as $t) {
if (stripos($str,$t) !== false) {
echo "$t exists in $str";
break;
}
}
尝试模式/cli?|ent/
说明:
CLI中的第一部分相匹配。我?使我在搜索中可选。
|
表示或者匹配cli
或ent
。
\b
是单词边界,它不会在client
匹配cli
,你需要删除\b
不要忘了'的strstr()'' – alex 2010-01-29 06:11:18
strpos()/ stripos函数()'是更快,更高效的内存比'strstr()/ stristr()'更好,如果你只需要知道给定的子字符串是否存在。 – zombat 2010-01-29 06:15:15
echo stripos('client',$ filterstr);结果显示为0。当我的搜索关键字='cli' – 2010-01-29 06:16:17