Как сделать preg_match в php? - PullRequest
       3

Как сделать preg_match в php?

1 голос
/ 04 октября 2010

У меня есть этот аргумент в php, и я хочу, чтобы он просто позволял пользователям вводить доменное имя ... я хочу, чтобы он не допускал символы типа "/" "? и так далее ... поэтому я получаю только доменное имя, такое как "http://somedomain.co.nz" или" http://www.somedomain.co.nz"

if(!preg_match('/^(http):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i',$_POST['story_url']))

Может ли кто-нибудь помочь мне добавить способ, которым я могу остановить "/" или "?" или что-нибудь еще, чтобы не заходить на сайт ...

Спасибо

Roshan

1 Ответ

1 голос
/ 04 октября 2010

Для этого лучше использовать функцию parse_url .

if(parse_url(rtrim($POST['story_url'],'/'),PHP_URL_PATH) || 
             parse_url($POST['story_url'], PHP_URL_QUERY)) {
        // invalid...URL has a path or a query string.
} else {
        // valid
}
...