Visualizzazione dei risultati da 1 a 7 su 7

Discussione: espressioni regolari

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    9

    espressioni regolari

    Ciao a tutti..
    Sto impazzendo sulle espressioni regolari...
    Dovrei eliminare alcune parti di testo da una stringa..arrivo subito a un esempio:

    $stringa = "<span class='pippo'> ciao bla bla cvla</span>";

    Questa stringa dovrebbe diventare:

    $stringa = " ciao bla bla cvla";

    Il problema è che la stringa di origine potrebbe anche essere cosi:
    $stringa = "<span> ciao bla bla cvla</span>";
    $stringa = "<span > ciao bla bla cvla</span>";
    $stringa = "<span class='pippo' style="font-size: 14pt; font-family: 'Arial Narrow'"> ciao bla bla cvla</span> altro testo <span class='pippo' style="font-size: 14pt; font-family: 'Arial Narrow'"> ciao bla bla cvla</span>";

    Detto questo, per quanto riguarda il tag di chiusura non ci sono problemi, e lo tolgo cosi:
    $stringa = str_replace("</span>","",$stringa);

    Ma non riesco proprio a eliminare il tag di apertura span

    Ho provato con questo codice ma non è corretto:
    ************************************
    $stringa = "<span class='pippo'> ciao bla bla cvla</span>";
    $pattern = "(<span(.^>)*[>])";
    $replacement = "";
    $stringa = ereg_replace($pattern,$replacement,$stringa); //questa istruzione non trova il pattern,quindi non sostituisce un bel niente
    ************************************

    E' da stamattina che leggo manuali e articoli sulle espressioni regolari, ma proprio non riesco a trovare un pattern giusto

    Qualcuno puo' illuminarmi???

    GRazie

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    non ho modo di provarlo ma vedi se questa funziona

    $stringa = str_replace('</span>', '', $stringa);
    $stringa = preg_replace('/^\<span.*?\>\s*/i', '', $stringa);
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    9
    in primis, grazie mille per la risposta..

    dunque funziona perfettamente se la stringa iniziale è questa:

    $stringa = "<span class='pippo'> ciao bla bla cvla</span>";

    producendo come risultato:

    ciao bla bla cvla


    Ma se la stringa cambia:
    $stringa = "<span class='pippo'> ciao bla bla cvla</span> altro testo <span class='pippo'>ciao bla bla cvla</span>";

    ottengo in output:
    ciao bla bla cvla altro testo <span class='pippo'>ciao bla bla cvla

    Umm...

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    suppongo sia sufficiente impostare l'opzione g(lobal)

    $stringa = str_replace('</span>', '', $stringa);
    $stringa = preg_replace('/^\<span.*?\>\s*/gi', '', $stringa);
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    9
    risolto

    bastava togliere ^\ dalla tua espressione..
    comunque ora per curiosità provo anche con l'opzione global e ti faccio sapere!


    grazie mille

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    9
    Warning: preg_replace() [function.preg-replace]: Unknown modifier 'g' in /prova.php on line 8


  7. #7
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da aggiuz
    Warning: preg_replace() [function.preg-replace]: Unknown modifier 'g' in /prova.php on line 8

    sorry... confuso con i modificatori del javascript
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

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.