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

    cambiare [url][/url] in <a></a> e mailto:

    Scrivo tutto nei tag php e /php per comodità.

    Ho una textarea in cui si può inserire un link tra i tag [.url] e [./url]
    Quindi potrei avere [.url]http://www.miosito.it[./url]

    Salvo questo nel db.
    Quando vado a leggerlo per stamparlo sul sito deve diventare
    <.a href="http://www.miosito.it">http://www.miosito.it<./a>

    ma non ho la più pallida idea di come fare
    stessa cosa per il mailto:

    nel db viene salvato come

    [.url="mailto:ciccio@hotmail.it"]nome[./url]

    oppure

    [.url="mailto:ciccio@hotmail.it"]ciccio@hotmail.it[./url]
    e deve diventare <.a href="mailto:ciccio@hotmail.it">testo/ciccio@hotmail.it<./a>

    tutti gli altri tag ([.b] - [.i] - [.color=red] o cose del genere) riesco a convertirli in html ma questi 2 no.

    Non so come fare a prendere l'indirizzo http:// vero e proprio oppure l'indirizzo e-mail.

  2. #2
    devi usare delle preg_replace

    esempio:
    Codice PHP:
    # imposto gli array per il riconoscimento del vbcode
                    
    $array_ricerca = array(
                        
    "{(\[)([bliu]+){1,2}(\])}",
                        
    "{(\[/)([bliu]+){1,2}(\])}",
                        
    "{\[center\](\r\n|\r|\n)*(.+)\[/center\]}siU",
                        
    "{\[email\](\r\n|\r|\n)*([a-zA-Z0-9\._-]+@(([a-zA-Z0-9_-])+\.)+[a-z]{2,6})\[/email\]}siU",
                        
    "{\[img\](\r\n|\r|\n)*((http|https)://([^;<>\*\(\)\"\s]+)|[a-z0-9/\\\._\- ]+)\[/img\]}siU",
                        
    "{(\[)(url)(])((http|ftp|https)://)([^;<>\*\(\)\"\s]*)(\[/url\])}siU",
                        
    "{(\[)(url)(=)(['\"]?)((http|ftp|https)://)([^;<>\*\(\)\"\s]*)(\\4])(.*)(\[/url\])}siU",
                        
    "{\[.quote\](\r\n|\r|\n)*(.+)\[/quote\]}siU",# il punto è per il forum
                    
    );

                    
    $array_sostituzione = array(
                        
    "<\\2>",
                        
    "</\\2>",
                        
    "<div align=\"center\">\\2</div>",
                        
    "<a href=\"mailto:\\2\">\\2</a>",
                        
    "<img src=\"\\2\" border=\"0\" alt=\"\">",
                        
    "<a href=\"\\4\\6\" target=\"_blank\">\\4\\6</a>",
                        
    "<a href=\"\\5\\7\">\\9</a>",
                        
    "<center><div class=\"div_msg_quote\" align=\"left\">\\2</div></center>",
                    );

                    
    # riconosco il vbcode
                    
    $stringa preg_replace($array_ricerca$array_sostituzione,$stringa); 
    Io comunque userei direttamente l'html al posto del bbcode.
    Ciao!

  3. #3

    Re: cambiare [url][/url] in <a></a> e mailto:

    Codice PHP:
    <?
    $stringa 
    "[url]http://www.miosito.it[/url]";
    $sd explode("[/url]"$stringa);
    $sd1 explode("[url]"$sd[0]);


    echo 
    "<a href=\"".$sd1[1]."\">".$sd1[1]."</a>";
    ?>
    Per gli altri tag basta sostituire i tag nell'explode

    P.S.
    Il forum modifica il value di $stringa

  4. #4
    aspettate, piano.
    Io fin ora ho fatto tutti i tag ed ho questo:

    Codice PHP:
    protected function format_text($text)
        {
            
    $search=array('[font=Verdana]''[/font=Verdana]''[font=Trebuchet MS]''[/font=Trebuchet MS]'
                          
    '[font=Times New Roman]''[/font=Times New Roman]''[font=Tahoma]''[/font=Tahoma]'
                          
    '[font=Stencil]''[/font=Stencil]''[font=Script MT Bold]''[/font=Script MT Bold]'
                          
    '[font=Lucida Console]''[/font=Lucida Console]''[font=Impact]''[/font=Impact]'
                          
    '[font=Georgia]''[/font=Georgia]''[font=Courier New]''[/font=Courier New]'
                          
    '[font=Comic Sans MS]''[/font=Comic Sans MS]''[font=Century Gothic]''[/font=Century Gothic]'
                          
    '[font=Book Antiqua]''[/font=Book Antiqua]''[font=Andale Mono]''[/font=Andale Mono]'
                          
    '[font=Arial Black]''[/font=Arial Black]''[font=Arial]''[/font=Arial]'
                          
    '[size=1]''[/size=1]''[size=2]''[/size=2]'
                          
    '[size=3]''[/size=3]''[size=4]''[/size=4]'
                          
    '[size=5]''[/size=5]''[size=6]''[/size=6]'
                          
    '[limegreen]''[/limegreen]''[maroon]''[/maroon]'
                          
    '[navy]''[/navy]''[teal]''[/teal]'
                          
    '[brown]''[/brown]''[beige]''[/beige]'
                          
    '[blue]''[/blue]''[orange]''[/orange]'
                          
    '[purple]''[/purple]''[pink]''[/pink]'
                          
    '[green]''[/green]''[black]''[/black]'
                          
    '[yellow]''[/yellow]''[red]''[/red]'
                          
    '[b]''[/b]''[i]''[/i]''[u]''[/u]''[s]''[/s]'
                          
    '[left]''[/left]''[center]''[/center]''[right]''[/right]'
                          
    '[hr]''[*]''[/*]''[list]''[/list]'
                          
    '[list=A]''[/list=A]''[list=a]''[/list=a]''[list=1]''[/list=1]');
                          
            
    $replace=array('<span style="font-family: \'Verdana\';">''</span>''<span style="font-family: \'Trebuchet MS\';">''</span>'
                           
    '<span style="font-family: \'Times New Roman\';">''</span>''<span style="font-family: \'Tahoma\';">''</span>'
                           
    '<span style="font-family: \'Stencil\';">''</span>''<span style="font-family: \'Script MT Bold\';">''</span>'
                           
    '<span style="font-family: \'Lucida Console\';">''</span>''<span style="font-family: \'Impact\';">''</span>'
                           
    '<span style="font-family: \'Georgia\';">''</span>''<span style="font-family: \'Courier New\';">''</span>'
                           
    '<span style="font-family: \'Comic Sans MS\';">''</span>''<span style="font-family: \'Century Gothic\';">''</span>'
                           
    '<span style="font-family: \'Book Antiqua\';">''</span>''<span style="font-family: \'Andale Mono\';">''</span>'
                           
    '<span style="font-family: \'Arial Black\';">''</span>''<span style="font-family: \'Arial\';">''</span>'
                           
    '<span style="font-size: xx-small;">''</span>''<span style="font-size: small;">''</span>'
                           
    '<span style="font-size: medium;">''</span>''<span style="font-size: large;">''</span>'
                           
    '<span style="font-size: x-large;">''</span>''<span style="font-size: xx-large;">''</span>'
                           
    '<span style="color: lime;">''</span>''<span style="color: maroon;">''</span>'
                           
    '<span style="color: navy;">''</span>''<span style="color: teal;">''</span>'
                           
    '<span style="color: #A52A2A;">''</span>''<span style="color: #F5F5DC;">''</span>'
                           
    '<span style="color: blue;">''</span>''<span style="color: #FFA500;">''</span>'
                           
    '<span style="color: purple;">''</span>''<span style="color: #FFC0CB;">''</span>'
                           
    '<span style="color: green;">''</span>''<span style="color: black;">''</span>'
                           
    '<span style="color: yellow;">''</span>''<span style="color: red;">''</span>'
                           
    '[b]''[/b]''[i]''[/i]''<u>''</u>''<strike>''</strike>'
                           
    '<p style="text-align: left; margin: 0; padding: 0;">''</p>''<p style="text-align: center; margin: 0; padding: 0;">''</p>''<p style="text-align: right; margin: 0; padding: 0;">''</p>'
                           
    '<hr/>''[*]''''<ul>''[/list]'
                           
    '[list=1]''[/list]''[list=1]''[/list]''[list=1]''[/list]');
            
            
    $text=str_replace($search$replace$text);
            
    $text=nl2br($text);
                    
            return 
    $text;
        } 
    Ho pensato anche io alle espressioni regolari, ma la vedo troppo complessa. Puoi spiegarti meglio?

  5. #5
    per l'url ci sono riuscito, ma il mail to non ci riesco :S

    uso questo:

    Codice PHP:
    // Setta i parametri per la ricerca di un url
    $URLSearchString " a-zA-Z0-9\:\/\-\?\&\.\=\_\~\#\'";
    // Setta i parametri per la ricerca di un'email
    $MAILSearchString $URLSearchString " a-zA-Z0-9\.@";

    // trasforma il mailto: in HTML
    $text preg_replace("/\[url\=([$MAILSearchString]*)\](.+?)\[\/url\]/"'[email="$1"]$2[/email]'$text); 
    Ma non cambia niente.
    La funzione Js che gestisce il tag è questa

    Codice PHP:
    function email(tarea) {
        
    txt2=prompt("Testo mostrato per il link. Lascia bianco se vuoi che l'indirizzo e-mail sia visualizzato nel link.","");
        if (
    txt2!=null) {
            
    txt=prompt("URL per il link.","mailto:");
            if (
    txt!=null) {
                if (
    txt2=="") {
                    
    AddTxt=txt;
                    
    AddText(AddTxttarea);
                } else {
                    
    AddTxt="[url=\""+txt+"\"]"+txt2+"[/url]";
                    
    AddText(AddTxttarea);
                }
            }
        }


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.