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

    Estrapolare email da string

    salve,

    vi chiedo una mano per estrapolare delle email.

    Ho una stringa come segue:
    Codice PHP:
    <div>


    [
    b]ciccio@example.com[/bsi é abbonato con successo.</p>

    <
    h3>[url="http://www.example.com/dsfdsfdsfds"]Gestione abbonamento[/url]</h3>


    </
    div
    e vorrei "tirare fuori" l'indirizzo email. Come si può fare?

    grazie

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    puoi farlo con le espressioni regolari, anche se validare un'email non è una cosa facile.

    Questa dovrebbe intercettare i casi + comuni, ma non è detto che alcuni indirizzi particolari non soddisfino il pattern (vedi la discussione su phpmailer per avere maggiori dettagli su questo problema).

    codice:
    preg_match_all('/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})/', $testo, $matches);
    $matches[0] sara un array contenente gli indirizzi email presenti in $testo.

    ciao

  3. #3
    Così dovrebbe funzionare...

    Codice PHP:
    $stringa '<div>


    [b]ciccio@example.com[/b] si é abbonato con successo.</p>

    <h3>[url="http://www.example.com/dsfdsfdsfds"]Gestione abbonamento[/url]</h3>


    </div>'
    ;
    echo 
    $email preg_replace('%^.*[\t\r\n\s]+|[\t\r\n\s]+.*$%'''preg_replace('%^.*>([^>]*@[^<]+).*$%is'"$1"$stringa));
    # oppure
    echo $email preg_replace('%^.*[\t\r\n\s]+|[\t\r\n\s]+.*$%'''preg_replace('%^.*[b][\t\r\n\s]*|[\t\r\n\s]*[/b].*$%is'''$stringa)); 
    Michele
    King Of The Kill

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.