$str1 = "HEADINGLEY";
$str2 = "HDNGLY";如何搜索字符串1以查看它是否包含字符串2中的所有字符,并返回true或false值?
感谢任何帮助:D
如果这有帮助,这是我到目前为止必须更新的代码。
echo preg_match('/.*H.*D.*N.*G.*L.*Y.*/', $str1, $matches);返回0
发布于 2012-03-09 22:50:20
我想我会用preg_match
http://us.php.net/manual/en/function.preg-match.php
...and使用str_split将$str2转换为正则表达式,使用str_split获取数组,使用implode将其转换回字符串,并使用".*"作为字符之间的粘合剂。
http://us.php.net/manual/en/function.str-split.php http://us.php.net/manual/en/function.implode.php
Upate --我应该建议使用str_split而不是explode,下面的代码将从$str2中获得正则表达式
$str2pat = "/.*" . implode(".*", str_split($str2)) . ".*/";发布于 2012-03-09 22:48:23
您可以使用一些正则表达式匹配,如.*H.*D.*N.*G.*L.*Y.*和preg_match。
应该足够简单,可以在第二个字符串中添加.*。
发布于 2012-03-09 22:49:15
假设字符串是数组,然后使用array_diff函数。
http://hu2.php.net/array_diff
$str1 = "HEADINGLEY";
$str2 = "HDNGLY";
$arr1 = str_split($str1, 1);
$arr2 = str_split($str2, 1);
$arr2_uniques = array_diff($arr2, $arr1);
return array() === $arr2_uniques;https://stackoverflow.com/questions/9635943
复制相似问题