Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Regex rimuovi stringhe

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    58

    Regex rimuovi stringhe

    Buon giorno,

    Devo rimuovere da un testo html che contiene diverse stringhe , le stringhe che contengono certi caratteri,

    Le stringhe da eliminare contengono sempre ".miosito.com" ma la parola precedente può essere diversa come anche i caratteri successivi a (.com) , le stringhe da eliminare comunque iniziano sempre con (<a) e terminano sempre con (</a>)

    <a href='http://italia.miosito.com/abcdkdshj etc..... </a>
    oppure
    <a href='http://germania.miosito.com........</a>

    dopo (Testosas **** RIMUOVERE STRINGA
    Testosas **** RIMUOVERE STRINGA
    Testosas **** RIMUOVERE STRINGA

    Testosas **** NON RIMUOVERE STRINGA


    Potete aiutarmi
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    39
    Potresti usare un espressione regolare e poi con preg_match verifichi il match ed eventualmente scarti\mantieni la stringa.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    58
    Originariamente inviato da sierra
    Potresti usare un espressione regolare e poi con preg_match verifichi il match ed eventualmente scarti\mantieni la stringa.
    Si scusa non ho indicato che sto cercando di fare una espressione regolare ma non sono capace.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    58
    Originariamente inviato da sierra
    Potresti usare un espressione regolare e poi con preg_match verifichi il match ed eventualmente scarti\mantieni la stringa.
    Ho provato questa ma non so se è corretta:

    /<a href=[\"']http:\/\/[a-z]+[\.]miosito[\.]com(.+?)<\/a>/


    Mi fate sapere
    grazie

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Beh e' un attimo testare insomma basta applicare la funzione preg_replace.....

    cmq

    Codice PHP:

    $pattern 
    "/<a href=[\"']http:\/\/[a-z]+[\.]miosito[\.]com(.+?)<\/a>/" ;

    $str '

    [url="http://italia.miosito.com/abcdkdshj.html "]Testosas [/url]**** RIMUOVERE STRINGA
    [url="http://germania.miosito.com/oioiomas.asp"]Testosas [/url]**** RIMUOVERE STRINGA
    [url="http://spagna.miosito.com/9895999.php"]Testosas [/url]**** RIMUOVERE STRINGA

    [url="http://italia.prova.com/abcdkdshj.html "]Testosas [/url]**** NON RIMUOVERE STRINGA


    '
    ;

    var_dumppreg_replace$pattern "[CAMBIATO]" $str ) ) ; 


    Codice PHP:
    // RISULTATO : 

    [CAMBIATO]**** RIMUOVERE STRINGA
    [CAMBIATO]**** RIMUOVERE STRINGA
    [url="http://spagna.miosito.com/9895999.php"]Testosas [/url]**** RIMUOVERE STRINGA

    [url="http://italia.prova.com/abcdkdshj.html "]Testosas [/url]**** NON RIMUOVERE STRINGA 

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Inoltre non capisco che "stringa" vuoi rimuovere.

    Tutta la riga o solo una particolare sottostringa ? Ad esempio il link ?

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    58
    Originariamente inviato da Virus_101
    Inoltre non capisco che "stringa" vuoi rimuovere.

    Tutta la riga o solo una particolare sottostringa ? Ad esempio il link ?
    Ciao
    Devo rimuovere tutta la stringa, in pratica tutto cio che è contenuto da "<a" a "</a>" e che contenga ".miosito.com"

    Con la regex che ho passato però non funziona con la stringa di seguito in quanto non è prevista la mancanza dello spazio tra Testosas **** RIMUOVERE STRINGA

  8. #8
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Allora fai uno str_repalce( "<ahref" , "<a href" ) ; prima della re oppure modifica la re per identificare solo "<a" come inizio e non "<a href"

  9. #9
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345

    Re: Regex rimuovi stringhe

    Originariamente inviato da tastiera
    Buon giorno,

    Devo rimuovere da un testo html che contiene diverse stringhe , le stringhe che contengono certi caratteri,

    Le stringhe da eliminare contengono sempre ".miosito.com" ma la parola precedente può essere diversa come anche i caratteri successivi a (.com) , le stringhe da eliminare comunque iniziano sempre con (<a) e terminano sempre con (</a>)

    ....................
    Ciao. Ho creato una regex che funziona e ti dovrebbe andare bene.
    Eccola:

    Codice PHP:
    $pattern "/\\<a[\\s]*href\\=[\\"']?http:\\/\\/[a-z0-9]+\\.miosito\\.com[a-z0-9_\\s\\.\\-\\_\\/]*[\\"']?\\>(.*?)\\<\\/a\\>/is" ;

    $testo = '

    [url="
    http://italia.miosito.com/abcdkdshj.html "]Testosas [/url]**** RIMUOVERE STRINGA
    [url="http://germania.miosito.com/oioiomas.asp"]Testosas [/url]**** RIMUOVERE STRINGA
    [url="http://spagna.miosito.com/9895999.php"]Testosas [/url]**** RIMUOVERE STRINGA

    [url="http://italia.prova.com/abcdkdshj.html "]Testosas [/url]**** NON RIMUOVERE STRINGA


    ';

    $testo = preg_replace($pattern, "", $testo); 
    Fammi sapere se ti soddisfa o no.


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.