$string = "#hello";
我试图hello
没有#
。我还想要一个函数来验证字符串是否包含#
。
str_replace("#", " ", $string);
,也没有
strstr($string,"#")
有什么想法吗?
答案 0 :(得分:6)
将返回值与原始值进行比较。
if ($string != str_replace("#", "", $string))
答案 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.';
}