3

PHPのユーザーからのURLを受け入れるフォームがあります。

どの文字を許可または禁止する必要がありますか?現在使用しています

$ input = preg_replace( "/ [^ a-zA-Z0-9-\?:#。()\、/ \&\'\\"] / "、" "、$ string);

$ input = substr($ input、0,255);

したがって、255文字にトリミングされ、文字、数字、および?のみを含めることができます。--_:#()、&'"/

自分ではないものを削除する必要があるもの、または有効なURLに含める必要がある可能性のあるものを削除するものはありますか?

4

4 に答える 4

3

%20 のようなものには = 記号と % を許可する必要があります。また、@ 記号は合法です

このような正規表現でURLを検証できます

/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/

また、URLで括弧と引用符を使用することも許可されていないと思います。

于 2009-02-14T23:48:56.953 に答える
0

これは、私が作成した TinyUrl クローン サイトで使用した正規表現です。

([a-zA-Z]+://)?([a-z0-9A-Z-]+\.[a-z0-9A-Z\.-]+[a-z0-9A-Z/_?=;%&,+\.\-]+)
于 2009-02-14T23:57:17.947 に答える