Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    trasformare & in & con preg_replace

    nel mio sito ho un preg_replace del genere:

    $descrizione = preg_replace("/([a-zA-Z]+:\/\/[a-z0-9\_\.\-]+".
    "[a-z]{2,6}[a-zA-Z0-9\/\*\_\-\?\&\%\=\,\.]+)/", 'sito ufficiale', $descrizione);

    in pratica mi rende cliccabili i siti contenuti in un testo.

    ....ma se ora io volessi anche che se nel testo il preg_replace incontrasse la & in automatico la trasformasse in & come bisogna fare?

    grazie

  2. #2
    Non è necessario scomodare le espressioni regolari. Basta eseguire due str_replace().

  3. #3
    :master: in teoria! ma in pratica cosa dovrei fare? grazie

  4. #4

    Re: trasformare & in & con preg_replace

    Originariamente inviato da thenax

    ....ma se ora io volessi anche che se nel testo il preg_replace incontrasse la & in automatico la trasformasse in & come bisogna fare?

    grazie
    la frase è da intendersi cosi':

    ...ma se ora io volessi anche che se nel testo il preg_replace incontrasse la & in automatico la trasformasse in & amp ; come bisogna fare?

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    php offre una funzione molto utile...

    htmlspecialchars

    http://ch2.php.net/manual/it/functio...ecialchars.php

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  6. #6
    ho provato ad usarla ma non mi funziona!

  7. #7
    in pratica l'htmlspecialchars non funziona perchè mi trasforma anche il < e il > !!!

    infatti senza quella funzione il codice html è:

    $descrizione = preg_replace("/([a-zA-Z]+:\/\/[a-z0-9\_\.\-]+".
    "[a-z]{2,6}[a-zA-Z0-9\/\*\_\-\?\&\%\=\,\.]+)/", 'sito ufficiale', $descrizione);

    echo ''.$monumento.': '.$descrizione.'

    '; }

    che stampa

    Palazzo dei Consoli: Per costi ed orari di ingresso visitate il sito ufficiale di Perugia.

    invece con la funzione htmlspecialchars sia con ENT_QUOTES che con ENT_NO_QUOTES mi viene fuori:

    Palazzo dei Consoli: Per costi ed orari di ingresso visitate il sito ufficiale di Perugia.

    qualcuno ha una soluzione?

  8. #8
    ho provato anche ad utilizzare str_replace ma non funziona lo stesso.

    la pagina in cui vi è il link a www.orvietounderground.it ecc ecc che non viene trasformata è questa:

    http://www.itinerarinelmondo.net/iti...io=2&giornoX=5

    il codice utilizzato è questo:

    Codice PHP:
     $descrizione preg_replace("/([a-zA-Z]+:\/\/[a-z0-9\_\.\-]+".
    "[a-z]{2,6}[a-zA-Z0-9\/\*\_\-\?\&\%\=\,\.]+)/"
    '[url="$1"]sito ufficiale[/url]'$descrizione);

    str_replace("&","& amp;",$descrizione); 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.