0

URL に特殊文字が含まれているかどうかをチェックする関数があり、コンテナーとして %PREFIX% を使用しているため、許可された文字列に '%' を追加したいと考えています。私は正規表現に比較的慣れていないので、誰かが % を許可リストに追加するのを手伝ってくれるかどうか疑問に思っていました. 機能は以下です。

function specialChars($url)
{       
    if (preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url) != true)
    {
        $this->errors[] = "Please remove any special characters";           
    }       
}

前もって感謝します。よろしく、

4

1 に答える 1

0

http://www.regular-expressions.info/reference.htmlで説明されているように、([]およびその内容) は文字クラスを定義します。

% は文字クラス内の (またはまったく) メタ文字ではないため、許可する文字クラスに配置するだけで済みます。たとえば、[a-z0-9-%]

于 2013-05-06T07:05:30.587 に答える