[PHP] Regular expression voor het ontleden van url's

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Om URL's in mijn db te kunnen vergelijken heb ik het ware domein nodig, bijv. als de url http://www.tweakers.net/4345/2 is dan heb ik het domein tweakers.net nodig, of als de url http://gathering.tweakers.net is dan eveneens heb ik slechts tweakers.net nodig.

Ik heb het al met van alles geprobeerd, maar het lukt niet erg goed, ik ben niet erg goed in regular expressions. Ik heb er zoiets van gemaakt als eregi("(http://)(.*)(.{3})"); maar daar klopt niks van :)

Iemand enig idee hoe ik dit kan aanpakken ? :/

Johan

Acties:
  • 0 Henk 'm!

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 17-09 14:46

TheDane

1.618

hier kun je vast genoeg informatie uithalen :)

Acties:
  • 0 Henk 'm!

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 07-11-2023

kvdveer

Z.O.Z.

punt 1: Preg gebruiken
punt 2: manual & tutorials lezen
punt 3: Daar is een functie voor, je hebt geen regexp nodig.
punt 4: %^http:[\\/]{2}(([a-z0-9\-]+\.)+[a-z]{2,6})%i Zou je vraag moeten beantwoorden

Localhost, sweet localhost


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hartelijk dank TheDane en kvdveer, het is nu gelukt met parseURL. Ik wist helaas niet eerder dat die functie bestond..

Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
Let op; als je het domein wilt hebben, pak dan niet simpelweg de laatste twee stukken uit de hostname. Bij gathering.tweakers.net werkt het prima, maar met bijvoorbeeld domein.co.uk krijg je problemen.

Overigens is parse_url niet echt efficient, zeker als je met een zwik records uit een database werkt. Zie dit topic.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.