Acerca de higienización la etiqueta de imagen cuando se arrastra una imagen desde cualquier ventana del navegador al editor para que su CMS sabe que es una imagen local:
he implementado una solución que comprueba todas las etiquetas de imagen, y si no es una imagen local, copia la imagen a su servidor a través de una solicitud de ajax y PHP, permítame recomendarle esta opción:
Primero, no debe publicar el contenido del editor de inmediato, pero añádalo a un div oculto diferente para que pueda analizarlo con javascript, demos a este div el id de "descriptionDropPlace"
A continuación, este código se compruebe la URL de cada imagen, y si no coincide con el dominio local (mydomain aquí), que hará una petición AJAX:
var images = $('descriptionDropPlaceimg');
$("descriptionDropPlace img").each(function(index){
var ajaxDone = false;
var src = $(this).attr("src");
var domain = src.match(/^http:\/\/[^/]+/)[0];
if(!domain.match("mydomain")){
$.post('http://'+window.location.hostname+'/phpGetImage.php', { url: src }).done(function(result){
$(images[index]).attr('src', result);
var ajaxDone = true;
});
}
});
Así phpGetImage.php se parece a esto (hay algún código para detectar si hay variables GET y para deshacerse de ellas, y para detectar si hay dos imágenes del mismo nombre pero con un directorio diferente, y guardarlas con el nombre de la URL del personaje completo escapado que se encuentran en):
$url = $_POST["url"];
$headers = get_headers($url, 1);
if(!empty($headers['Location'])){
$url = $headers['Location'];
}
$url = explode("?", $url);
$url = $url[0];
$replace = array("/", ".");
$image = str_replace("http:--", "",str_replace($replace, "-", $url));
$path = './uploads/yourImageDirectory/'.$image;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
file_put_contents($path, $data);
echo base_url().'uploads/yourImageDirectory/'.$image;
Me acabo de dar cuenta de que arrastrar una imagen desde cualquier ventana del navegador al editor hace el truco ... pero eso no me permite desinfectar la etiqueta, así que mi cms sabe que es una lo imagen cal. – DrKHunter