@RoSt: Ich verstehe es aus folgendem Grund nicht der Reguläre Ausdruck hat keine Probleme mit http:// - da er sich nicht um http:// kümmert!
Ich habe meinen Testdurchlauf, wie folgt begonnen:
1. buch.php im Browser geöffnet.
2. Auf den Hyperlink Beitrag Schreiben geklickt.
3. In die Eingabemaske die Felder ausgefüllt und beim Home-Textfeld folgenden Zeile eingetragen:
http://www.domain.de
4. Eintrag wurde im Gästebuch hinterlegt und voila der Hyperlink ist auch vorhanden!
----
Nun habe ich anschließend das ganze auch ohne http:// ausgetestet und auch hier ein einwandfreies Ergebnis erhalten.
1. buch.php im Browser geöffnet.
2. Auf den Hyperlink Beitrag Schreiben geklickt.
3. In die Eingabemaske die Felder ausgefüllt und beim Home-Textfeld folgenden Zeile eingetragen:
www.domain.de
4. Eintrag wurde im Gästebuch hinterlegt und voila der Hyperlink ist auch vorhanden! Das fehlende http:// wurde durch das Skript hinzugefügt bzw. hier ging es durch den regulären Ausdruck!
Abgesehen davon ist der Reguläre Ausdruck nur für folgendes zuständig:
Zitat:
//Es wurde auch eine Homepageadresse angegeben - entsprechende Formatierung vornehmen
|
Die Abfrage sollte somit nur für das hinzufügen eines möglicherweise fehlenden -
http:// und sonst nichts!
Die Angabe http:// für sich gesehen erfüllt den vorliegenden regulären Ausdruck nicht! Daher geht es auch ohne Umwege in den else Abschnitt!
Siehe:
PHP-Code:
//Es wurde auch eine Homepageadresse angegeben - entsprechende Formatierung vornehmen
if(ereg("^([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$g_fhome)){
//http:// fehlt in der Angabe der Adresse - hier ergänzen
if(!ereg("^http:////",$g_fhome))
{
$g_fhome="http://" . $g_fhome;
}
$g_fhome="<a href=" . $g_fhome . " target=_blank>Website</a>";
}
else
{
$g_fhome="<a href=" . $g_fhome . " target=_blank>Website</a>";
}
//Ende - Prüfung
Hinweis: Eine Validation der Homepage-URL habe ich nicht durchgeführt, da diese Angabe nicht zu den wesentlichen Feldern gehört. Daher gibt es auch nur für die E-Mail Angabe eine exakte Überprüfung und eine entsprechende Fehlermeldung!
Was jedoch das Filtern von http:// für sich gesehen betrifft sollte es kein Problem darstellen die Abfrage anzupassen. :)
Solltest du ansonsten mit regulären Ausdrücken experimentieren wollen empfehle ich dir folgende Tools:
- Regex_Coach0.9.0
- Expresso 2.1
Hiermit lässt sich der Ausdruck übrigens auch Testen!
Liebe Grüsse,
Matze K.