Как использовать preg_replace, чтобы добавить «www» и «http://" в URL, где отсутствуют эти подстроки? - PullRequest
1 голос
/ 19 декабря 2009

Я хочу сделать это с помощью preg_replace:

$web = 'example.com';

Я хочу, чтобы preg_replace сделал это http://www.example.com, и если это http://example.com, то нет проблем. Он должен добавить http:// в найденном в URL.

Я хочу сделать это http:// не существует.

Ответы [ 3 ]

4 голосов
/ 19 декабря 2009
preg_replace("/^(?:http:\/\/)?(.*)/","http://$1",$web);
1 голос
/ 19 декабря 2009
if( 0 !== strpos( $web, 'http://' ) )
{
    $web = 'http://'.$web;
}

По сути, вам не нужно регулярное выражение. Что нужно сделать, это проверить, является ли 'http://' первой частью $web. Если нет, он добавит 'http://' в начало строки. В противном случае это ничего не делает.

Другой способ сделать это - просто проверить, не ложно ли это ... if( false === strpos( $web, 'http://' ) ) Это должно выполняться, если функция не работает Однако я не думаю, что это лучший способ сделать это.

1 голос
/ 19 декабря 2009

Для этого вам не нужны регулярные выражения. Просто сделай $web = "http://$web".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...