检查变量是否以'http'开头

时间:2010-12-11 23:42:58

标签: php substring string-comparison

我确信这是一个简单的解决方案,但还没找到我需要的东西。

使用php,我有一个变量$ source。我想检查$ source是否以'http'开头。

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

谢谢!

6 个答案:

答案 0 :(得分:46)

if (strpos($source, 'http') === 0) {
    $source = "<a href=\"$source\">$source</a>";
}

注意我使用===,而不是==,因为如果字符串不包含匹配项,strpos会返回布尔值false。在PHP中,零是假的,因此需要进行严格的相等检查以消除歧义。

参考:

http://php.net/strpos

http://php.net/operators.comparison

答案 1 :(得分:13)

您需要substr()功能。

if(substr($source, 0, 4) == "http") {
   $source = "<a href='$source'>$source</a>";
}

答案 2 :(得分:6)

if(strpos($source, 'http') === 0)
    //Do stuff

答案 3 :(得分:5)

使用substr

if (substr($source, 0, 4) === 'http')

答案 4 :(得分:1)

从PHP 8.0开始,已实现方法str_starts_with

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

答案 5 :(得分:0)

if(preg_match('/^(http)/', $source)){
...
}