|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 1209
|
[php] Sintassi delle espressioni.
Ciao, mi serve un aiutino
Io ho questa funzione, Codice:
$text = preg_replace( "`((http)+(s)?:(//)|(www\.))((\w|\.|\-|_)+)(/)?(\S+)?`i", "<a href=\"http\\3://\\5\\6\\8\\9\" title=\"\\0\">\\5\\6</a>", $text); Ora il problema è questo dovrei mettere un veto del tipo se prima di http c'è un = non devo effettuare il replace, ora se non ho capito male dovrei usare una cosa tipo [^=] ma se la metto prima così: Codice:
$text = preg_replace( "`[^=]((http)+(s)?:(//)|(www\.))((\w|\.|\-|_)+)(/)?(\S+)?`i", "<a href=\"http\\3://\\5\\6\\8\\9\" title=\"\\0\">\\5\\6</a>", $text); qualche dritta su come risolvere il problema? Ultima modifica di ghego : 27-10-2005 alle 23:09. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 1209
|
Codice:
<?
$stringa = "http://www.test.it <a href=http://www.test.it>a</a>";
$stringa = preg_replace('#[^href=](http://)([^\s]*)#', '<a href="\\1\\2">\\1\\2</a>', $stringa);
echo $stringa;
?>
ma mi omette si di modificare la 2° che non necessita, ma tralascia anche la prima... qualche idea? |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:29.



















