web-dev-qa-db-fra.com

Vérifie si la variable commence par 'http'

Je suis sûr que c'est une solution simple, je n'ai tout simplement pas trouvé exactement ce dont j'avais besoin.

En utilisant php, j'ai une variable $ source. Je veux vérifier si $ source commence par 'http'. 

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

Merci!

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

Remarque J'utilise ===, pas == car strpos renvoie boolean false si la chaîne ne contient pas la correspondance. Zero est falsey en PHP, un contrôle d'égalité strict est donc nécessaire pour lever toute ambiguïté.

Référence:

http://php.net/strpos

http://php.net/operators.comparison

46
Jonah

Vous voulez la fonction substr() .

if(substr($source, 0, 4) == "http") {
   $source = "<a href='$source'>$source</a>";
}
13
AgentConundrum
if(strpos($source, 'http') === 0)
    //Do stuff
6
Ben

Utilisez substr :

if (substr($source, 0, 4) === 'http')
5
casablanca
if(preg_match('/^(http)/', $source)){
...
}
0
ali