Проверьте, начинается ли переменная с 'http' - PullRequest
21 голосов
/ 12 декабря 2010

Я уверен, что это простое решение, просто не нашел именно то, что мне нужно.

Используя php, у меня есть переменная $ source. Я хочу проверить, начинается ли $ source с 'http'.

if ($source starts with 'http') {
 $source = "<a href='$source'>$source</a>";
}

Спасибо!

Ответы [ 5 ]

47 голосов
/ 12 декабря 2010
if (strpos($source, 'http') === 0) {
    $source = "<a href=\"$source\">$source</a>";
}

Примечание. Я использую ===, а не ==, поскольку strpos возвращает логическое значение false, если строка не содержит совпадения.Ноль - это ложь в PHP, поэтому для устранения неоднозначности необходима строгая проверка на равенство.

Ссылка:

http://php.net/strpos

http://php.net/operators.comparison

13 голосов
/ 12 декабря 2010

Требуется функция substr().

if(substr($source, 0, 4) == "http") {
   $source = "<a href='$source'>$source</a>";
}
6 голосов
/ 12 декабря 2010
if(strpos($source, 'http') === 0)
    //Do stuff
5 голосов
/ 12 декабря 2010

Использование substr:

if (substr($source, 0, 4) === 'http')
0 голосов
/ 14 ноября 2018
if(preg_match('/^(http)/', $source)){
...
}
...