$str
在foreach中是有价值的。
$str = str_replace('_name_','_title_',$str);
如何制作if str_replace
?
我想做事if have a str_replace
然后回复$str
,否则,跳过当前的foreach然后到下一个。感谢。
答案 0 :(得分:22)
str_replace()
有第四个参数设置为执行的替换次数。如果没有替换,则将其设置为0.在那里删除一个引用变量,然后在if语句中检查它:
foreach ($str_array as $str) {
$str = str_replace('_name_', '_title_', $str, $count);
if ($count > 0) {
echo $str;
}
}
答案 1 :(得分:5)
如果你需要测试是否在另一个字符串中找到了一个字符串,你可以这样。
<?php
if(strpos('_name_', $str) === false) {
//String '_name_' is not found
//Do nothing, or you could change this to do something
} else {
//String '_name_' found
//Replacing it with string '_title_'
$str = str_replace('_name_','_title_',$str);
}
?>
http://php.net/manual/en/function.strpos.php
但是,对于此示例,您不应该这样做。如果您对无法替换的字符串运行str_replace
,则无法找到要替换的内容,并且只会继续操作而不进行任何替换或更改。
答案 2 :(得分:2)
我知道这是一个古老的问题,但它给了我一个解决我自己的检查问题的准则,所以我的解决方案是:
$contn = "<p>String</p><p></p>";
$contn = str_replace("<p></p>","",$contn,$value);
if ($value==0) {
$contn = nl2br($contn);
}
完美适合我。 希望这对其他人有用。