Einzelnen Beitrag anzeigen
  #13  
Alt 05.12.2006, 18:53:15
Benutzerbild von Madokan
Madokan Madokan ist offline
Anfänger
 
Registriert seit: Mar 2005
Ort: Berlin/Germany
Beiträge: 59
AW: Fehler im Praxisbuch ?

@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.
__________________
[Atomicscript - PHP/MySQL]
http://www.atomicscript.de
[PHP 5 & MySQL 5 Bücher - Bestellen bei Amazon]
PHP 5 / MySQL 5 - Studienausgabe
PHP5 / MySQL 5 - Master Edition
PHP 5 - Studienausgabe (Enseleit/Kannengiesser)

Geändert von Madokan (05.12.2006 um 18:54:46 Uhr)
Mit Zitat antworten