Php 在另一个多字节字符串中搜索一个多字节字符串

Php 在另一个多字节字符串中搜索一个多字节字符串,php,multibyte,Php,Multibyte,我使用此代码在另一个utf-8字符串中搜索一个utf-8字符串: if (strlen(mb_stristr($string1, $string2)) > 0) 但它总是返回0!有谁知道解决这个问题的更好办法吗?这两个字符串可能是unicode和非unicode字符的某种组合 if (mb_stristr($string1, $string2) !== false) echo "found $string2 in $string2"; 注意类型安全比较运算符== 注意类型安全比较运算符

我使用此代码在另一个utf-8字符串中搜索一个utf-8字符串:

if (strlen(mb_stristr($string1, $string2)) > 0)
但它总是返回0!有谁知道解决这个问题的更好办法吗?这两个字符串可能是unicode和非unicode字符的某种组合

if (mb_stristr($string1, $string2) !== false) echo "found $string2 in $string2";
注意类型安全比较运算符
==

注意类型安全比较运算符
==

为什么不直接使用

如果您不知道源编码,您可能需要使用并随后将每个字符串转换为公共编码,但这应该是相当简单的

也就是说,如果string2发生在string1的起始位置(即位置0),则需要检查false。)

i、 e:使用

if (mb_stripos($string1, $string2) !== false) {
    // $string2 was found within $string1
    ...
}
为什么不直接使用

如果您不知道源编码,您可能需要使用并随后将每个字符串转换为公共编码,但这应该是相当简单的

也就是说,如果string2发生在string1的起始位置(即位置0),则需要检查false。)

i、 e:使用

if (mb_stripos($string1, $string2) !== false) {
    // $string2 was found within $string1
    ...
}

如果不使用子字符串,请不要使用strstr(或其派生词)。您所关心的只是字符串是否存在,因此请使用:


如果不使用子字符串,请不要使用strstr(或其派生词)。您所关心的只是字符串是否存在,因此请使用:


我想您只需要知道该字符串是否出现在另一个字符串中,或者在第二个变量名中缺少s。是的,没错!我只想检查一个字符串是否存在于另一个字符串中……我想您只需要知道该字符串是否出现在另一个字符串中,或者第二个变量名中是否缺少s。是的,没错!我只想检查一个字符串是否存在于另一个字符串中。。。