Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [PHP] tag

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777

    [PHP] tag

    salve a tutti.
    tramite questa applicazione js permetto l'utente di formattare il testo con i prompt e nella textarea nella posizione del cursore uscirà il testo formatato racchiuso nei tag.
    codice:
    <script type="text/javascript">
    
    <!--
    function AddToTextarea(TextareaID,TextToAdd,Titolo,TypeText){	
    	if(TypeText !=""){
    	var L = prompt(Titolo,"");
    		if(TypeText != "link"){
    			if (L) {
    			TextToAdd = '<' + TypeText + '>' + L + '</' + TypeText + '>';
    			}
    		}	
    		else{
    		var M = prompt("Inserisci il link","http://");
    			if(L){
    			TextToAdd= '' + L + '';
    			}
    			elseif(L != ""){
    			TexToAdd= '' + M + '';
    			}
    		}
    	}
    						
        var MyTextarea = document.getElementById(TextareaID);
        
        if (document.all)
        {
            MyTextarea.focus();
            var MyRange = document.selection.createRange();
            MyRange.colapse;
            MyRange.text = TextToAdd;
        }
       	 else if (MyTextarea.selectionEnd){
            var MyLength = MyTextarea.textLength;
            var StartSelection = MyTextarea.selectionStart;
            var EndSelection = MyTextarea.selectionEnd;
            MyTextarea.value = MyTextarea.value.substring(0, StartSelection) + TextToAdd + MyTextarea.value.substring(EndSelection, MyLength);
        }
        else{
            MyTextarea.value += TextToAdd;
        }
    
    }
    </script>
    il problema è se il cursore si ritrova all'interno del tag.
    esempio:
    in [/b] e io ci inserisco qualcosa per sbaglio mi distrugge il tag con ovvie conseguenze. in questo caso grassetto a tutto spiano.
    ora avevo pensato di agire nel javascript ma nn serve perchè un utente esperto può anche scrivere a mano i tag e comunque se il cursore si trova all'interno inavvertitamente lo si può rovinare.
    pensavo di affidarmi a php per controllare che i tag siano intanti e cancellare le cose sbagliate
    io avevo pensato di fare un preg match di questo tipo
    se nel testo trovi per esempio uno strong con caratteri aggiuntivi o addirittura eliminati mi sostituisca il tag in modo corretto.
    come la si può scrivere o ho detto una cosa che non si può proprio fare.comunque ci sono approcci più semplici?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    mi sa che ho risolto
    dato che permettevo il corsivo sottolineato e grassetto usavo strip tags per filtrare quindi qualunque tag passi che non siano em strong o u viene eliminato. per la chiusura dei tag in caso di omissione ho la funzione adatta per cui dovrei stare apposto

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 © 2024 vBulletin Solutions, Inc. All rights reserved.