Überprüfen ob der string mit "http://" anfängt

Friesi

Erfahrenes Mitglied
Ich habe ein Gästebuchscript geschrieben, doch wenn ein User nur http://www.ihrehomepage.de angeben kommt man nicht zu der Homepage.

Nun will ich überprüfen, ob ein http:// davor gesetzt wurde und wenn nicht soll es davor geschrieben werden.

Wie könnte ich das denn machen?!
mit str_replace? Doch muss man ja erstmal nach "http://" suchen!

Danke für eure Hilfe!
 
Ganz easy

mach ne datei z.B.: makelink.php

und in diese Datei kommt dann dieser Code:

PHP:
<?
function makelink($s) 
{ 
$s = preg_replace("=(^|\ |\\n)(http:\/\/|http:\/\/www\.)([a-zA-Z0-9\.\/-\_]{1,})=i", "\\2\\3", $s); 
$s = preg_replace("=(^|\ |\\n)(www\.)([a-zA-Z0-9\.\/-\_]{1,})=i", "http://\\2\\3", $s); 
return $s; 
}
?>

dann includest du die einfach in die Datei wo du die Daten in die Mysql Tabelle schreibst, oder in die index.php wenn diese Datei noch geöffnet ist.

Dann:

einfach die funktion ausführen mit:

PHP:
$homepage = makelink($homepage);

$homepage ist dann die Post variable die du vom einträger aus dem Formular bekommst, oder wie du die halb genannt hast und kann auch als $homepage dann eingetragen hast.

mfg

http://www.netcrox.com
 
Alles schön und gut Gariel, aber glaubst du ernsthaft er hat das wirklich verstanden und etwas für die Zukunft gelernt? Ich glaube nicht :rolleyes:.

Die denkbar einfachere (wenn auch nicht so umfassende) Lösung würde folgendermaßen aussehen.

PHP:
// $url ist die eingegebene URL
if(substr($url,0,7) != "http://") {
  $url = "http://".$url;
}
 
Original geschrieben von Tim Comanns
Die denkbar einfachere (wenn auch nicht so umfassende) Lösung würde folgendermaßen aussehen.

PHP:
// $url ist die eingegebene URL
if(substr($url,0,7) != "http://") {
  $url = "http://".$url;
}
Soweit eine einfache und ausreichende Lösung, nur sollte vorher geprüft werden ob der String nicht leer ist, da man davon ausgehen sollte, dass nicht jeder Gast eine eigene Homepage hat. Der Link würde sonst nach http:// führen und das währe ja auch nicht richtig.
PHP:
// $url ist die eingegebene URL
if(!empty($url) && substr($url,0,7) != "http://") {
    $url = "http://".$url;
}
 
Du weist was eine IF-Anweisung ist?
Du weißt, in welcher Variable die URL steht?
Dann kannst Du auch selbst prüfen, ob diese Variable leer ist oder nicht!
 
Erstmal vielen danke, ihr habt mir echt geholfen.
Also wenn keine Homepage angegeben ist, wird das "homepagebildchen" beim anzeigen des Gästebuchs nicht angezeigt, ist also kein Pflichtfeld. Nur vergessen halt machen gerne das http:// wenn sie ihre Homepage angeben wollen und deswegen wollte ich das Überprüfen.
Die erste Methode hab ich zwar nicht sooo verstanden, aber da ich mich nicht für dumm erkläre und bissel googlen kann, werd ich das hoffentlich auch bald verstehen! Nun weis ich ja welche funktion ich dafür brauche.

Danke nochmal :-)
 
Zurück