0

どんなアドバイスも役に立ちます、ありがとう

コンテンツを含む html タグを消去しようとしていますが、何らかの理由で正しく機能しません

<?php

function cleaning($vclean)
{
$vclean = strip_tags($vclean);
$vclean = rtrim($vclean);
$vclean = trim($vclean);

$vclean = str_replace("  ", "", $vclean);
$vclean = preg_replace('/\s\s+/', ' ', $vclean);
$vclean = str_replace("'", "", $vclean);

echo "function is cleaning<br>";

}


cleaning($any_variable);


?>
4

2 に答える 2

1

これはあなたが意図していたものですか:

<?php

function cleaning($vclean)
{
$vclean = strip_tags($vclean);
$vclean = rtrim($vclean);
$vclean = trim($vclean);

$vclean = str_replace("  ", "", $vclean);
$vclean = preg_replace('/\s\s+/', ' ', $vclean);
$vclean = str_replace("'", "", $vclean);

return $vclean;

}


echo cleaning("function is cleaning<br>");


?>
于 2012-11-08T00:09:25.827 に答える
0

おそらく、関数が元の変数を消去することを期待していますか?

お気に入り:

$variable = '<p>foobar</p>';
cleaning($variable);
echo $variable;

関数は、関数の外部で宣言された変数を「参照」または変更できないため、これは機能しません。そのため、クリーンな値ではなく、$variable の古い値が表示されます。

この場合は、変数スコープについて読む必要があります

実際の解決策としてはreturn、関数の最後に変数をクリーンアップし、次のことを行う必要があります。

$variable = '<p>foobar</p>';
$variable = cleaning($variable);
echo $variable;
于 2012-11-08T00:18:25.430 に答える