php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 31-08-2006, 14:55
nobody2
 Junior Member
Links : Onlinestatus : nobody2 ist offline
Registriert seit: Aug 2006
Beiträge: 94
nobody2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard php funktion zum url prüfen

Hallo!
Gibt es eigentlich eine php funktion mit der man eine Url auf ihre gültigkeit überprüfen kann, oder muss ich mir dafür eine Klasse schreiben?

Ich habe nur parse_url gefunden, allerdings ist diese funktion ja nicht dazu gedacht die url zu validieren.
Mit Zitat antworten
  #2 (permalink)  
Alt 31-08-2006, 15:05
closure
 Master
Links : Onlinestatus : closure ist offline
Registriert seit: Mar 2006
Beiträge: 796
closure ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

klar gibts: preg_match + Klick mich
__________________
(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Mit Zitat antworten
  #3 (permalink)  
Alt 31-08-2006, 16:18
nobody2
 Junior Member
Links : Onlinestatus : nobody2 ist offline
Registriert seit: Aug 2006
Beiträge: 94
nobody2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo!
Ja, preg_match kenne ich natürlich auch ;-). Genauer gesagt will ich eigendlich überprüfen ob ein Link ordnungsgemäß eingegeben wurde. Soweit wäre das ja auch kein Problem, wenn ich genau wissen würde welche Zeichen in einer Url nicht vorkommen dürfen. Ich hab auch schon gesucht, aber noch keine Seriösen Quellen gefunden. Ein Link kann ja hinter einem # Zeichen so gut wie alle Zeichen enthalten, außer ein Leerzeichen und ü,ö,ä,.
Mit Zitat antworten
  #4 (permalink)  
Alt 31-08-2006, 16:21
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

es gibt ein entsprechendes RFC irgendwo hier http://www.ietf.org/rfc.html

nur ... die meisten Programmierer hindert so ein RFC absolut nicht daran, trotzdem irgendwelche Zeichen in die URL zu packen, natürlich unkodiert ... wir haben das auf einer Website so gelöst, dass wir von http:// praktisch fast alles erlauben und das letzte Zeichen darf dann kein Satzzeichen sein, damit fahren wir recht gut _-_
Mit Zitat antworten
  #5 (permalink)  
Alt 31-08-2006, 17:00
nobody2
 Junior Member
Links : Onlinestatus : nobody2 ist offline
Registriert seit: Aug 2006
Beiträge: 94
nobody2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Tja, dann werde ich es wohl doch mit einer regexp versuchen.
Allerdings hab ich da ein kleines problem.
Mein Script müsste mir eigentlich false zurückgeben, da ich nach dem www. ein Leerzeichen habe. Allerdings macht es das nicht, und ich weis nicht wieso.

PHP-Code:
<?php
$url 
"HTTP://www.sd.at/fasdf";

if(
strtolower(substr($url,0,6)) =="ftp://")
{
    
$muster ="";
}
if(
strtolower(substr($url,0,7)) == "http://")
{
    
$muster "!^(http://)(www\.)?([a-z0-9-]{3,})\.\w{2,4}(/)?!i";
    echo 
"test2";
    
    
#|([a-z-]+\.[a-z-]{3,})
}
else 
{
    
$url "http://".$url;
    echo 
"test3";
}
#$muster = "!^(http://|ftp://)(www\.)?(([a-z@-]{3,})|([a-z]))\.\w{2,4}/?!i";
echo preg_match($muster,$url);
echo 
$url;
?>

Geändert von nobody2 (31-08-2006 um 20:37 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 31-08-2006, 17:10
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

in dem regex fehlt das abschließende $, damit der ganze string matchen muss.

außerdem fehlen noch einige zeichen (nur buchstaben)?
dann, was ist mit groß/kleinschreibung? www ist nicht zwingend notwendig usw...
Mit Zitat antworten
  #7 (permalink)  
Alt 31-08-2006, 17:43
nobody2
 Junior Member
Links : Onlinestatus : nobody2 ist offline
Registriert seit: Aug 2006
Beiträge: 94
nobody2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo die Regexp jetzt erweitert!
Ich habe kein $ Zeichen, da er mir auch nur den Anfang matchen soll.
Welche Zeichen fehlen noch? Es sind doch nur Wortzeichen erlaubt und der - und das @ falls eine ftp Adresse angegeben ist. Groß und Kleinschreibung werden doch beachtet a-zA-Z und das ? hinter (www\.) bewirkt doch, dass das www optional ist ;-) .

Gibt es eigendlich eine Möglichkeit, dass ich ihm folgenden sagen kann.
Z.B nach .com kommt entweder ein / oder gar nichts und falls der / vorhanden ist, so kann dahinter jedes Zeichen folgen.
Mit Zitat antworten
  #8 (permalink)  
Alt 31-08-2006, 17:49
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

>Ich habe kein $ Zeichen, da er mir auch nur den Anfang matchen soll.
dann darfst du dich aber auch nicht wundern, das preg_match 1 zurückliefert. das $ muss mit rein.

>Welche Zeichen fehlen noch? Es sind doch nur Wortzeichen erlaubt und der - und das @ falls eine ftp Adresse angegeben ist.
na z.b. "." "/", "_" ...


>Groß und Kleinschreibung werden doch beachtet a-zA-Z und das ? hinter (www\.) bewirkt doch, dass das www optional ist ;-) .
was ist mit HTTP und WWW? mit dem zweiten hast du recht
Mit Zitat antworten
  #9 (permalink)  
Alt 31-08-2006, 20:14
closure
 Master
Links : Onlinestatus : closure ist offline
Registriert seit: Mar 2006
Beiträge: 796
closure ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

öhm hast du dir mal meinen link angeguckt ?
__________________
(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Mit Zitat antworten
  #10 (permalink)  
Alt 31-08-2006, 20:18
nobody2
 Junior Member
Links : Onlinestatus : nobody2 ist offline
Registriert seit: Aug 2006
Beiträge: 94
nobody2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wieso muss das $ mit rein? Ich will ja nicht die komplette url checken.
z.B.: http:://www.google.at/dasteht_etwas+#.egalwas
da will ich nur dass am Anfang, also bis zum /daste.... checken . nach dem / kann ja so gut wie jedes Zeichen vorkommen.

P.S: Ich habe mich jetzt entschieden den code anders aufzubauen (ftp und html getrennt zu behandeln)

Das aktuelle Suchmuster ist dort wo echo "test2"; ausgegeben wird.
Irgendwie checkt er das nicht dass www.sd.at eine ungültige url ist, da sd ja nur 2 Buchstaben sind. entferne ich das www. , dann checkt er das schon.

Geändert von nobody2 (31-08-2006 um 20:43 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 31-08-2006, 20:49
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von nobody2
Wieso muss das $ mit rein? Ich will ja nicht die komplette url checken.
toll, wenn du jetzt jedesmal den quelltext änderst - meine antwort bezog sich auf deinen ursprungsregex und dort war das genau der fehler:
Zitat:
Mein Script müsste mir eigentlich false zurückgeben, da ich nach dem www. ein Leerzeichen habe.
Mit Zitat antworten
  #12 (permalink)  
Alt 31-08-2006, 21:15
nobody2
 Junior Member
Links : Onlinestatus : nobody2 ist offline
Registriert seit: Aug 2006
Beiträge: 94
nobody2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von closure
Hi,

öhm hast du dir mal meinen link angeguckt ?
Ja, aber falls das Suchmuster sein sollte, so funtioniert das bei nicht wirklich. Unknown modifier '|' in...
Mit Zitat antworten
  #13 (permalink)  
Alt 31-08-2006, 22:11
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.623
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

nur mal als anregung ....
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:38 Uhr.