如何验证字符串是否包含字符

时间:2016-05-05 19:02:56

标签: php

$string = "#hello";

我试图hello没有#。我还想要一个函数来验证字符串是否包含#

str_replace("#", " ", $string);

,也没有

strstr($string,"#")

有什么想法吗?

4 个答案:

答案 0 :(得分:6)

将返回值与原始值进行比较。

if ($string != str_replace("#", "", $string)) 

请参阅:http://php.net/manual/en/function.str-replace.php

答案 1 :(得分:2)

检查以下代码:

$string = "#hello";
$find = '#';
// verify if the string contains the #
$pos = strpos($string, $find);
// if present replace it
if ($pos !== false) {
    $string = str_replace("#", "", $string);
}
echo $string;

输出:     你好

答案 2 :(得分:2)

我选择了一些简短的东西:

echo strstr($string, '#') != false ? $string = str_replace("#", "", $string) : $string;

strstr()必须经过测试才能确定您是否可以进行更改。

答案 3 :(得分:2)

您无需检查字符串是否包含您要查找的字符才能使用str_replace。如果找不到搜索到的字符,str_replace将只返回未修改的字符串。

如果您需要查看事后是否找到'#',您可以使用可选的第四个参数str_replace来计算替换次数:

$string = str_replace('#', '', $string, $count);

任意数量的大于零的替换都会使$count变量评估为布尔true,因此您只需使用if($count)...

检查是否进行了替换
if ($count) {
    echo "Replaced $count #s";
    // do whatever you need to do if the string has #
} else {
    echo 'No #s were found.';
}