Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - piccolo problema con regex?
Forum - PHP - piccolo problema con regex?

Avatar
ditadipolvere (Normal User)
Newbie


Messaggi: 2
Iscritto: 21/02/2011

Segnala al moderatore
Postato alle 21:35
Lunedì, 21/02/2011
Questo topic è stato chiuso dal moderatore

ciao a tutti! ho un piccolo problemino con una regex:

vorrei far diventare un qualsiasi url ( per esempio http://google.it ) così http://adf.ly/90114/google.it.

Per cercare di risolvere questo problema ho creato questa piccola regex :

$str= preg_replace("/http:\/\/(.*?)/i", "<a href=\"http://adf.ly/90114/$1\">$1</a>;", $str);


che però si è rivelata non funzionante...

come potrei modificarla per raggiungere il mio scopo?

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 12:10
Martedì, 22/02/2011
Forse deriva dal fatto che hai usato un quantificatore lazy: *? cattura 0 o più occorrenze, cercando però di prenderne il minor numero possibile. Secondo me ne prenderà 0 (poiché questo è il minor numero di occorrenze lecito per l'espressione). Dovresti togliere il ? e magari sostituire * con +, dato che un url che inizia con "http://" ma che poi non ha nessuna stringa che lo segue è un url vuoto.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM
Avatar
ditadipolvere (Normal User)
Newbie


Messaggi: 2
Iscritto: 21/02/2011

Segnala al moderatore
Postato alle 16:28
Martedì, 22/02/2011
sei un genio! Funziona! grazie 1000 :D

PM