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

    Aggiungere il mailto alle mail presenti in un testo

    Dunque in rete ho trovato questa funzione, che tutt'ora uso, per aggiungere il link a tutte le mail contenuto in un testo.

    Codice PHP:
    function addlink_mail($text) {
        
    $ta explode(" ",$text);
        foreach( 
    $ta as $key => $value) {
        if (
    eregi("^([a-z0-9]|\\-|\\.)+@(([a-z0-9]|\\-)+\\.)+[a-z]{2,4}$",$ta[$key])) {
         
    $ta[$key] = "[email='".$ta[$key]."']".$ta[$key]."[/email]";
         }
    }

      
    $text implode(" ",$ta);
        return 
    $text;
        

    Esempio

    Il mio indirizzo di posta è ciao@ciao.it e quello del mio amico è amico@amico.it

    che attraverso questa funzione diventa:

    Codice PHP:
    Il mio indirizzo di posta è [email="ciao@ciao.it"]ciao@ciao.it[/emaile quello del mio amico è [email="amico@amico.it"]amico@amico.it[/email
    Se invece il testo va a capo quindi il testo è ad esempio

    Il mio indirizzo di posta è ciao@ciao.it
    e quello del mio amico è amico@amico.it

    la prima mail non viene riconosciuta come tale perchè ovviamente la funzione suddivide il testo per spazi e non per "a capi".
    Come potrei fare?

    grazie

  2. #2
    nessuno...nessuno è in grado di aiutarmi?


  3. #3
    prova cambiando $ta=explode in $ta=split, impostando una espressione regolare dove dire che dividi per pezzi in corrispondenza di spazi e ritorni a capo...

    Codice PHP:
    function addlink_mail($text) {
        
    $ta split("[ \n] ",$text);
        foreach( 
    $ta as $key => $value) {
        if (
    eregi("^([a-z0-9]|\-|\.)+@(([a-z0-9]|\-)+\.)+[a-z]{2,4}$",$ta[$key])) {
         
    $ta[$key] = "[email='".$ta[$key]."']".$ta[$key]."[/email]";
         }
    }

      
    $text implode(" ",$ta);
        return 
    $text;
        


  4. #4
    Originariamente inviato da Linus80
    prova cambiando $ta=explode in $ta=split, impostando una espressione regolare dove dire che dividi per pezzi in corrispondenza di spazi e ritorni a capo...

    Codice PHP:
    function addlink_mail($text) {
        
    $ta split("[ \n] ",$text);
        foreach( 
    $ta as $key => $value) {
        if (
    eregi("^([a-z0-9]|\-|\.)+@(([a-z0-9]|\-)+\.)+[a-z]{2,4}$",$ta[$key])) {
         
    $ta[$key] = "[email='".$ta[$key]."']".$ta[$key]."[/email]";
         }
    }

      
    $text implode(" ",$ta);
        return 
    $text;
        

    Ho provato. Così non funziona più in nessun caso

  5. #5
    Contrordine

    Funziona!!!!!!

    codice:
    $ta = split("[ \n]",$text);
    Bastava togliere lo spazio dopo la parentesi quadra di chiusura




    grazie

  6. #6
    dicevo io

    scherzi a parte... maledette espressioni regolari ehehe...

    sono contento che ti funzioni! ciao!!!!

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.