Visualizzazione risultati 1 fino 3 di 3

Discussione: Problema con espressione regolare

  1. #1
    Guest

    Predefinito Problema con espressione regolare

    Codice PHP:

    $post
    = $lungo_scritto_che_proviene_dal_database;

    $search = "ciao";

    $post = preg_replace("#$search#is","<span style=\"background-color:#FFF\">".$search."</span>",$post);
    E' un po complicato da spiegare:

    In pratica vorrei che se la parolina "ciao" è contenuta nella stringa $post, questa debba apparirmi colorata.

    Attualmente questa espressione regolare funziona perfettamente... Il problema è però se la parolina "ciao" è contenuta anche in qualcosa del tipo

    <img src="pippociao.jpg" />

    In tal caso il link viene irrimediabilmente corrotto...

    Come faccio a modificare quell'espressione regolare in modo che tenga conto dei tag <a> e <img> ??

  2. #2
    Ospite Guest

    Predefinito

    potresti inserire una funzione che ti legge automaticamente tutta la stringa e sostituisce con qualcos'altro quello che vuoi tu....

    esempio:
    Codice:
    <?php 
    //Funzione per interpretare il testo 
    function fInterpreta($string) 
    {  $string = trim(str_replace("ciao", "<font color=...>ciao</font>", $string));      
        //Ritorno il valore 
        return $string; 
    } 
    ?>
    non so se funziona, io non l'ho provata, comunque è più o meno il sistema che usano i forum per interpretare il bb code...

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da Shadowstorm
    potresti inserire una funzione che ti legge automaticamente tutta la stringa e sostituisce con qualcos'altro quello che vuoi tu....

    esempio:
    Codice:
    <?php 
    //Funzione per interpretare il testo 
    function fInterpreta($string) 
    {  $string = trim(str_replace("ciao", "<font color=...>ciao</font>", $string));      
        //Ritorno il valore 
        return $string; 
    } 
    ?>
    non so se funziona, io non l'ho provata, comunque è più o meno il sistema che usano i forum per interpretare il bb code...
    Questo codice ha due difetti, il primo è che è case sensitive, e poi è che se, come diceva attorianzo trova "ciao" all'interno di un link o del percorso di un'immagine corrompe il link/percorso.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •