ホームページ >バックエンド開発 >PHPチュートリアル >特殊文字のフィルタリングに関しては80点です。

特殊文字のフィルタリングに関しては80点です。

WBOY
WBOYオリジナル
2016-06-13 12:41:25912ブラウズ

特殊文字のフィルタリングについては…80点でした。 。
フォームを送信するときに、送信されたコンテンツから次のような特殊文字を除外する必要があるという問題が発生しました。
たとえば、送信されたコンテンツがあります: life*&)can)(_more beautiful

フィルターをかける方法: 人生はもっと美しくなることができます。

私がやっているのは:
$str=str_replace("&","",$str); $str=str_replace(">","",$str); $str=str_replace("07d923da2c3d4faf95804881282eeddf/?~! @#¥%……&*( )- -


------解決策---------{}【】';: ""' . ,? ]",'',$str); このように書くことはできないでしょうか?

1. 最大の問題は、正規表現に境界記号
がないことです。 2. エスケープは // ではなく、二重引用符内の \
です。 3.
-----解決策--------------------------

が見られる、または選択されました
4. 二重引用符の中に二重引用符はありますか?
……------解決策---------


人生はもっと美しくなることができる
-----解決策--------------------------------
$p = str_split("&><=()[].*#$@-+&! ~ ^%'\"_");<br />
$s = '生活*&)可以)(_更美的';<br />
echo str_replace($p, '', $s);


引用: 分かりました、アドバイスありがとうございます... ただ¥)(などの全角特殊文字も使えるか分かりません。 .. 試してみます
全角の場合は以下の関数を使用してください
function mb_str_split( $string, $encoding='UTF-8' ) {
# 開始後ではないすべての位置で分割: ^

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。