Ver Mensaje Individual
  #7 (permalink)  
Antiguo 08/04/2012, 08:52
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Pasar texto recibido por $_get() a elemento RTF en JavaScrip

A ver si esto te sirve:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
<
html xmlns="http://www.w3.org/1999/xhtml"
<
head
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<
title>editor</title
<
style
input
border:1px solid #000; 
background:#CCCCCC; 
font-family:VerdanaArialHelveticasans-serif
font-size:9px
margin-bottom:3px

</
style
<
script
var 
editor
function $(
id){ 
    return 
document.getElementById(id); 

function 
formato(f){ 
    
editor.execCommand(ffalsenull); 

function 
rev(t)    { 
    return 
t.split("<").join("&lt;").split(">").join("&gt;").split("\"").join("&quot;"); 

function 
insertarEnlace(){ 
    var 
u
    if(!(
u=prompt('ingresar url','http://')))return; 
    
editor.execCommand("CreateLink",false,u); 

function 
insertarImagen(){ 
    var 
u
    if(!(
u=prompt('ingresar url','http://')))return; 
    
editor.body.focus(); 
    
editor.execCommand("InsertImage",false,u); 

function 
color(c){ 
    
editor.execCommand("forecolor",false,c); 


function 
colorFondo(c){ 
    var 
h=window.ActiveXObject?'backcolor':'hilitecolor'
    
editor.execCommand(h,false,c); 

function 
inHTML(){ 
    var 
u,u2
    if(!(
u=prompt('ingresar html','')))return; 
     
        try{ 
            
editor.execCommand("inserthtml",false,u); 
        }catch(
e){ 
            try{ 
                
editor.body.focus(); 
                
u2=editor.selection.createRange(); 
                
u2.pasteHTML(u); 
            }catch(
E){ 
                
alert('nop'); 
            } 
        } 


function 
htmlOEditor(e){ 
e=|| window.event
ob=e.target || e.srcElement 
$('edit').style.display=(ob.value=='html')?'none':'block'
$(
'ht').style.display=(ob.value!='html')?'none':'block'
$(
'ht').innerHTML=rev(editor.body.innerHTML); 
ob.value=(ob.value=='html')?'editor':'html'

function 
$_GET(x){
    var 
u=location.search.substr(),i=u.indexOf(x);
    if(
i!=-1){
        return (
u.substr(i).split('=')[1].split('&')[0]);    
    }
    return 
'';
}
function 
iniciarEditor(variableGet){
    return function(){
        
editor=$('edit').contentDocument || $('edit').contentWindow.document
        
editor.designMode='on';
        
//Aquí lo que te interesa
        
try{
        
editor.body.innerHTML=decodeURIComponent($_GET(variableGet));
        
//o editor.body.innerHTML=unescape($_GET(variableGet));
        
}catch(e){
            
setTimeout(iniciarEditor(variableGet),500);
        }
    }
}
window.onload=iniciarEditor('pp');

</script>   
</head> 

<body> 
<form id="form1" name="form1" method="post" action=""> 
  <input type="button" name="Submit" value="N" onclick="formato('bold')" /> 
  <input type="button" name="Submit2" value="C" onclick="formato('italic')" />
  <input type="button" name="Submit3" value="S" onclick="formato('underline')" />
  <input type="button" name="Submit4" value="remover formato" onclick="formato('RemoveFormat')" />
  <input type="button" name="Submit5" value="link" onclick="insertarEnlace()" />
  <input type="button" name="Submit9" value="quitar link" onclick="formato('Unlink')" />
  <input type="button" name="Submit6" value="imagen" onclick="insertarImagen()" />
  <input type="button" name="Submit7" value="texto rojo" onclick="color('#FF0000')" />
  <input type="button" name="Submit8" value="fondo rojo" onclick="colorFondo('#FF0000')" />
    <input type="button" name="Submit10" value="deshacer" onclick="formato('undo')" />
  <input type="button" name="Submit11" value="rehacer" onclick="formato('redo')" />

  <input type="button" name="Submit12" value="insertar html" onclick="inHTML()" />
  <br /> 
<iframe id="edit" width="100%" height="300" style=" border:1px solid #000;"></iframe> 
<div id="ht" style="width:100%; height:300px; overflow:auto; border:1px solid #000; display:none"></div> 
<div style="margin-top:3px;"><input name="ver" type="button" id="ver" onclick="htmlOEditor(event)" value="html" /></div> 
</form> 
</body> 
</html> 
Lo importante de esto es:
Código PHP:
editor.body.innerHTML=decodeURIComponent($_GET(variableGet));
        
//o editor.body.innerHTML=unescape($_GET(variableGet)); 
Dependiendo del contexto puede ser muy inseguro, así que ojo, estás advertido

Última edición por Panino5001; 08/04/2012 a las 09:25