quote:
Omdat het alternatief langzamer is, en nog veel lomper, je kunt niet fatsoenlijk op herhalingen testen van een specifieke character class set zonder daar speciale functies voor te moeten schrijven. Dan vertrouw ik toch eerder op preg_match
quote:
Jan_V schreef op dinsdag 05 februari 2013 @ 20:52:
[...]
Hebben de interne urls niet een (of meerdere) vaste hostnames? Dan kun je daar toch op zoeken?
Neemt niet weg dat het een klote werkje is. Heb ooit zoiets moeten doen voor een klant, waren 4 uren voor geoffereerd, uiteindelijk ben ik er toch zeker meerdere dagen mee zoet geweest. (had toen ook nog nooit van reguliere expressies gehoord)
Nee, helaas. Hetgene dat een interne URL definieert is juist het ontbreken van een hostname. Er is één geval waarin een hostname een interne URL specificeert en dat is inderdaad in het geval dat men een absolute URL heeft geplaatst. Dit wordt echter afgeraden door de opzet van de website.
Toegestaan zijn zowel relatieve URL's als root-relatieve URL's.
Je hebt dus te maken met een situatie waarin simpelweg een woord ook al als interne URL gevalideerd kan worden: "informatie" is dus een syntactisch geldige interne URL.
Wat helpt is dat een
slug alleen mag bestaan uit a-zA-Z0-9-_~() (uit mijn hoofd). Echter is er wel wat legacy die vroeger een spatie ook toestond, dus daar moet nog een warning aan gekoppeld worden.
Bovendien kwam ik er gister achter dat er ook URL's zijn waarin HTML entities zijn opgenomen: %20, %3A, die bende. Daar moet je dus ook rekening mee houden
