doubi1928 2014-04-26 18:21
浏览 73
已采纳

用数组中的内容替换字符串中的内容

I am making a filter for strings that will filter out any words in the string that are found in the array with the number sign "#". It just doesn't seem to work.

Here are my url parameters: http://www.mydomain.com/test.php?str=Noob%20no

<?php
    $blacklist = array("noob","yes");
    $t = "";
    $str = explode(" ",strtolower($_GET["str"]));
    foreach ($str as $i) {
        $s = str_replace($i, str_repeat("#", strlen($i)), $blacklist);
        $t = $t . $s[0];
    }

    echo $t;
?>

This is what it outputs for "noob no:"

######ob

where it should echo something like this:

#### no

  • 写回答

4条回答 默认 最新

  • drxvjnx58751 2014-04-26 18:42
    关注
    $blacklist = array("noob","yes");
    $t = "";
    $str = explode(" ",strtolower("Noob no"));
    foreach ($str as $i) {
        if ( in_array($i,$blacklist) ) {
           $i = str_repeat('#',strlen($i));
        }
        $t = $t . $i . " ";
    }
    
    echo $t;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?