 |
Napolux |
| [PHP] Espresione regolare |
18-01-2005 11:10 |
|
 |
Napolux |
-29 Kg da Settembre 2005

Registered: Jun 2002
Posts: 3666 (0.42 al dì)
Location: Giussano (MI)
Corso: F28
Anno: ???
Time Online: 21 Days, 19:29:36 [...]
Status: Offline
Edit | Report | IP: Logged |
[PHP] Espresione regolare
Questa è un'espressione che fa il parsing di un URL
PHP:
$string = eregi_replace("(news|http|https|ftp)://([[:alnum:]/\n+-=%&:_.~?]+[#[:alnum:]+]*)","<a href="\1://\2" target="_blank">\1://\2</a>", $string);
Come posso modificarla in modo che non faccia niente se nella stringa, prima del link c'e' una quadra chiusa?
Del tipo "]http://eccetera" ??
Grazie
__________________
Napolux.com
|
|
18-01-2005 11:10 |
|
|
|  |
 |
Alf |
| Re: [PHP] Espresione regolare |
18-01-2005 11:32 |
|
 |
Alf |
°o.mini sayan.o°

Registered: Jun 2003
Posts: 5381 (0.65 al dì)
Location: Mediolanum
Corso: Informatica
Anno: FINITOOOO!
Time Online: 155 Days, 9:46:05: [...]
Status: Offline
Edit | Report | IP: Logged |
Re: [PHP] Espresione regolare
Non saprei se puoi mettere una condizione in quella funzione ...
Io metterei semplicemente prima dell'eregi questo:
if(strcmp($string[0],"]")!=0)
Non so se nel tuo caso e' necessario controllare che non sia vuota $string.
__________________
(\ /)
( . .)
c('')('') This is Bunny!
Help her succeed in world domination by copy and pasting her in
your signature.
|
|
18-01-2005 11:32 |
|
|
|  |
 |
Napolux |
| Re: Re: [PHP] Espresione regolare |
18-01-2005 11:50 |
|
 |
Napolux |
-29 Kg da Settembre 2005

Registered: Jun 2002
Posts: 3666 (0.42 al dì)
Location: Giussano (MI)
Corso: F28
Anno: ???
Time Online: 21 Days, 19:29:36 [...]
Status: Offline
Edit | Report | IP: Logged |
Re: Re: [PHP] Espresione regolare
Originally posted by Alf
Non saprei se puoi mettere una condizione in quella funzione ...
Io metterei semplicemente prima dell'eregi questo:
if(strcmp($string[0],"]")!=0)
Non so se nel tuo caso e' necessario controllare che non sia vuota $string.
Mah, posso provare ad adatare la tua soluzione ma non è una singola frase che vado a valutare, ma un'intero testo.
Quindi $string[0] non necessariamente farà parte dell'url. Potrebbe anche essere 1000 parole prima.
__________________
Napolux.com
|
|
18-01-2005 11:50 |
|
|
|  |
 |
DeepBlue |
| Io non sono un grandissimo esperto di regex, ma cr ... |
18-01-2005 12:09 |
|
 |
DeepBlue |
tired guy

Registered: Sep 2003
Posts: 4258 (0.52 al dì)
Location: CSN
Corso: Info tlc
Anno:
Time Online: 52 Days, 8:40:31 [...]
Status: Offline
Edit | Report | IP: Logged |
Io non sono un grandissimo esperto di regex, ma credo che abbia ragione Alf.
Perché non usi due regex? La prima verifica la presenza della parentesi quadra prima di http e la seconda fa tutto il resto.
Qualcosa del tipo:
if (!parentesi_prima_di_http) { fai_eregi_di_blah_blah; }
__________________
~ get Debian! ~ get FreeBSD! ~ get OpenBSD! ~
|
|
18-01-2005 12:09 |
|
|
|  |
 |
Napolux |
| provero' ... |
18-01-2005 12:14 |
|
 |
Napolux |
-29 Kg da Settembre 2005

Registered: Jun 2002
Posts: 3666 (0.42 al dì)
Location: Giussano (MI)
Corso: F28
Anno: ???
Time Online: 21 Days, 19:29:36 [...]
Status: Offline
Edit | Report | IP: Logged |
provero'
__________________
Napolux.com
|
|
18-01-2005 12:14 |
|
|
|  |
 |
Alf |
| Re: Re: Re: [PHP] Espresione regolare |
18-01-2005 13:11 |
|
 |
Alf |
°o.mini sayan.o°

Registered: Jun 2003
Posts: 5381 (0.65 al dì)
Location: Mediolanum
Corso: Informatica
Anno: FINITOOOO!
Time Online: 155 Days, 9:46:05: [...]
Status: Offline
Edit | Report | IP: Logged |
Re: Re: Re: [PHP] Espresione regolare
Originally posted by Napolux
Mah, posso provare ad adatare la tua soluzione ma non è una singola frase che vado a valutare, ma un'intero testo.
Quindi $string[0] non necessariamente farà parte dell'url. Potrebbe anche essere 1000 parole prima.
Beh adattala l'idea e' quella ... 
Cerca magari la pos di "http://" e poi controlla che il carattere prima (se c'e') sia diverso da ] 
Boh guarda tu ... 
__________________
(\ /)
( . .)
c('')('') This is Bunny!
Help her succeed in world domination by copy and pasting her in
your signature.
|
|
18-01-2005 13:11 |
|
|
|  |
 |
giulio |
| Re: [PHP] Espresione regolare |
18-01-2005 13:46 |
|
 |
giulio |
.no title at all.

Registered: Jul 2003
Posts: 153 (0.02 al dì)
Location: Earth
Corso: Once upon a time...
Anno:
Time Online: 8 Days, 21:56:12 [...]
Status: Offline
Edit | Report | IP: Logged |
Re: [PHP] Espresione regolare
Originally posted by Napolux
Questa è un'espressione che fa il parsing di un URL
PHP:
$string = eregi_replace("(news|http|https|ftp)://([[:alnum:]/\n+-=%&:_.~?]+[#[:alnum:]+]*)","<a href="\1://\2" target="_blank">\1://\2</a>", $string);
Come posso modificarla in modo che non faccia niente se nella stringa, prima del link c'e' una quadra chiusa?
Del tipo "]http://eccetera" ??
Grazie
Aggiungi [^]] all'inizio dell'espressione regolare:
$string = eregi_replace("[^]](news|http|https|ftp)://([[:alnum:]/\n+-=%&:_.~?]+[#[:alnum:]+]*)","<a href=\"\1://\2\" target=\"_blank\">\1://\2</a>", $string);
Attenzione che non funziona (cioe' niente replace) nel caso l'URL sia all'inizio
di $string.
Ciao,
gc
|
|
18-01-2005 13:46 |
|
|
|  |
 |
Napolux |
| l'avevo gia' provato.
... |
18-01-2005 13:47 |
|
 |
Napolux |
-29 Kg da Settembre 2005

Registered: Jun 2002
Posts: 3666 (0.42 al dì)
Location: Giussano (MI)
Corso: F28
Anno: ???
Time Online: 21 Days, 19:29:36 [...]
Status: Offline
Edit | Report | IP: Logged |
l'avevo gia' provato.
fatto, per le immagini funziona, ma per gli url non fa più il parsing 
__________________
Napolux.com
|
|
18-01-2005 13:47 |
|
|
|  |
 |
Napolux |
| Forse ho trovato, ci lavoro questo pomeriggio e po ... |
18-01-2005 13:53 |
|
 |
Napolux |
-29 Kg da Settembre 2005

Registered: Jun 2002
Posts: 3666 (0.42 al dì)
Location: Giussano (MI)
Corso: F28
Anno: ???
Time Online: 21 Days, 19:29:36 [...]
Status: Offline
Edit | Report | IP: Logged |
Forse ho trovato, ci lavoro questo pomeriggio e poi vi faccio sapere 
__________________
Napolux.com
|
|
18-01-2005 13:53 |
|
|
|  |
 |
Napolux |
| Risolto con i token.... ... |
19-01-2005 18:29 |
|
 |
Napolux |
-29 Kg da Settembre 2005

Registered: Jun 2002
Posts: 3666 (0.42 al dì)
Location: Giussano (MI)
Corso: F28
Anno: ???
Time Online: 21 Days, 19:29:36 [...]
Status: Offline
Edit | Report | IP: Logged |
Risolto con i token....
__________________
Napolux.com
|
|
19-01-2005 18:29 |
|
|
|  |
 |
| All times are GMT. The time now is 23:22. |
|
|
 |
|
 |
|
|
|  |
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|