0

この文字列の #blitz の前にあるものをすべて削除したい:

$twit = rt @danisan01: #blitz ipva em frente ao barra sul, no recreio.

これが私が試みていることですが、出力に結果が得られません:

$array_bols = array("#bols", "#blitz", "#blitz ipva", "#ipva", "#detran", "#blitz de ipva", "#detran ipva", "#blitz d ipva");

foreach($array_bols as $blitz)
{
$twit = substr(strstr($twit, $blitz), strlen($blitz), (-1) * strlen($twit));
}

ヘルプ

4

1 に答える 1

0

検索語のリストを反復処理するため、出力は得られません。strstrまた、$ twi変数は、検索されたサブジェクトが見つからない場合は何も返さないため、ある時点で空になります。

あなたがやりたかったことは次のとおりです。

$array_bols = array("#bols", "#blitz", "#blitz ipva", "#ipva", "#detran", "#blitz de ipva", "#detran ipva", "#blitz d ipva");

foreach($array_bols as $blitz)
{
    if ($tmp = strstr($twit, $blitz)) {
        $twit = substr($tmp, strlen($blitz));
    }
}

内側のsubstrは#blitz、コードの目的であると私が想定しているように、も削除します。このような場合、substr()の長さパラメーターを省略する方法に注意してください。

于 2011-05-07T23:56:52.510 に答える