[php] hostname ban

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
Ik wil op mijn site een hostname ban maken zoals in mirc.

Ik wil dus bv hostname: dial-*.access.uk.tiscali.com bannen, maar dan moet het script dus alles dial-.....access.uk.tiscali.com blokeren.

nu heb ik het zo geprobeerd:

PHP:
1
2
$hostname = "dial-*.access.uk.tiscali.com";
$hostname2 = preg_replace("#(.+?)*(.+?)#si", "//1(.+?)//2", $hostname);


Om dus die * te verplaatsen met (.+?) zodat ik later de hostname kan matchen met de hostname van de bezoeker.

Alleen het bovenstaande werkt niet :(

weet iemand wat ik fout doe?

www.dannyhiemstra.nl


Acties:
  • 0 Henk 'm!

Verwijderd

Je wilt dus * vervangen door (.+?) eigenlijk...
Wat dacht je van str_replace?

Denk er ook even aan dat * betekenis heeft in regular expressions. Je zou hem sowieso moeten escapen als het sterretje letterlijk moet matchen: \*r
Maar regular expressions zijn zware overkill voor de eerste, simpele replace.

[ Voor 15% gewijzigd door Verwijderd op 24-05-2003 17:24 ]


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Cheatah:
Je wilt dus * vervangen door (.+?) eigenlijk...
Wat dacht je van str_replace?

Denk er ook even aan dat * betekenis heeft in regular expressions. Je zou hem sowieso moeten escapen als het sterretje letterlijk moet matchen: \*
evenals de punt niet te vergeten ;)

Gebruik voor het eenvoudig escapen van strings voor gebruik met pcre de functie preg_quote ()

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz