php如何制作if str_replace?

时间:2011-06-05 19:33:08

标签: php str-replace

$str在foreach中是有价值的。

$str = str_replace('_name_','_title_',$str);

如何制作if str_replace

我想做事if have a str_replace然后回复$str,否则,跳过当前的foreach然后到下一个。感谢。

3 个答案:

答案 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);
}

完美适合我。 希望这对其他人有用。