al pulsar sobre el enlace se dirige el navegador a una dirección a la cual se le pasa la página y alli se procesa mediante un programa en el lado del servidor el cual hace todas las modificaciones que no se pueden hacer en el template para que el blog sea valido blog modificado totalmente valido

martes, 9 de diciembre de 2008

codigo PHP que se ejecuta para limpiar

cualquier aportación se agradece, tambien me estoy planteando usar la libreria que acabo de descubrir llamada html-Purifier

archivo http://vecinos.urbanizacioncasasverdes.org/web2/trucos/home.php

<?php

error_reporting(E_ALL);

ini_set("display_errors", 1);

include ('configuracion.php');
require_once ('Funciones.php');
$laPagina="";
if (isset($_GET['miBlog']))
{
$urlDeTuBlog="http://".$_GET['miBlog'];
}

if (isset($_GET['vieneDe']))
{
$laPagina=$_GET['vieneDe'];
}
else
{
$laPagina= $urlDeTuBlog."/index.html";
}


$todo=Funciones::leeLaPagina($laPagina);
$original=$todo;
//cambiamos las amp que estan mal
foreach($SitiosDondeReemplazarElAmp as $donde=>$clave){
Funciones::cambiaAmper($clave);
}
//cambiamos los iframes por object y los src por data
foreach($SitiosDondeReemplazarElIframe as $donde=>$clave){
Funciones::cambiaIframe($clave);
}
//Borrar codigos de maquetado despues del body que estan mal puestos
foreach($codigosAQuitar as $donde=>$clave){
Funciones::borrarCodigo($clave);
}
foreach($SitiosDondeCerrarEtiquetaMalCerrada as $donde=>$clave){
Funciones::cerrarEtiquetas($clave);
}

//redireccionar los links para que vengan aqui
Funciones::cambiarTodosLosLinks($urlDeTuBlog);
foreach($SitiosDondeReemplazarTodasLasAparicionesDelAmp as $clave )
{
$desde=($clave["desde"]);
$hasta=($clave["hasta"]);
Funciones::cambiarTodasLasAparicionesDeAmpEn($desde,$hasta);
}
Funciones::quitaTodosLosTargetConfig($urlDeTuBlog);
Funciones::cambiarMayusculasPorMinusculas($urlDeTuBlog);


echo "$todo";
?>

archivo http://vecinos.urbanizacioncasasverdes.org/web2/trucos/funciones.php

<?php

class Funciones
{

public static function leeLaPagina($url)
{
$retorno = "";
$todo="";
$url_web = fopen ("$url", "r");
if (!$url_web) { echo "<p>Error obteniendo codigo fuente de la web.\n"; exit; }
while (!feof ($url_web))
{
$contenido = fgets ($url_web);
$todo.=$contenido;
}
fclose($url_web);
$retorno=$todo;
return $retorno;
}

public static function cambiaAmper($despuesDe)
{
global $todo;
$donde=strpos($todo,$despuesDe);
if ($donde)
{
$elAmp = strpos($todo, '&', $donde);
$retorno=True;
if($elAmp) $todo= substr_replace ($todo, 'amp;',$elAmp+1, 0);
}
}
public static function cambiaIframe($cual)
{
global $todo;
$donde="";
$queQuito="";
$elIframe="";
$elScr="";

$donde=strpos($todo,$cual);
$queQuito="iframe";
$elIframe = strpos($todo, $queQuito, $donde);
$todo= substr_replace ($todo, 'object',$elIframe,strlen($queQuito) );
$queQuito="src";
$elSrc = strpos($todo, $queQuito, $donde);
$todo= substr_replace ($todo, 'data',$elSrc,strlen($queQuito));
$queQuito="iframe";
$elCierreIframe = strpos($todo, "/".$queQuito, $donde);
$todo= substr_replace ($todo, 'object',$elCierreIframe+1, strlen($queQuito));


}

public static function borrarCodigo ($cual)
{
global $todo;
do {
$donde=strpos($todo,$cual);
if ($donde) $todo= substr_replace ($todo, '',$donde,strlen($cual) );
}while ($donde);
}

public static function quitaTodosLosTargetConfig ($cual)
{
global $todo;
$desde=0;
do {
$donde=strpos($todo,"target='config",$desde);
if ($donde)
{
$dondeEstaElProximoApostrofo=strpos($todo,"'",$donde+8);
$espacioQueHayQueBorrar=($dondeEstaElProximoApostrofo+1-$donde);
$todo= substr_replace ($todo, '',$donde,$espacioQueHayQueBorrar );
$desde=$espacioQueHayQueBorrar;
}
}while ($donde);
}





public static function cambiarTodosLosLinks($urlDeTuBlog)
{
global $todo;
$queBusco="href=\"".$urlDeTuBlog;
$loQueLePongo="http://vecinos.urbanizacioncasasverdes.org/web2/trucos/home.php?vieneDe=";
do {
$donde=strpos($todo,$queBusco);
if ($donde) $todo= substr_replace ($todo,$loQueLePongo,$donde+6,0 );
}while ($donde);
$queBusco="href='".$urlDeTuBlog;
$loQueLePongo="http://vecinos.urbanizacioncasasverdes.org/web2/trucos/home.php?vieneDe=";
do {
$donde=strpos($todo,$queBusco);
if ($donde) $todo= substr_replace ($todo,$loQueLePongo,$donde+6,0 );
}while ($donde);

}





public static function cambiarTodasLasAparicionesDeAmpEn ($desde,$hasta)
{
Funciones::cambiaQue_PorQue_Como_Desde_Hasta("&","amp;","meter",$desde,$hasta);
}

public static function cambiaQue_PorQue_Como_Desde_Hasta ($cadenaDesdeDondeMetemos,$cadenaQueVamosAMeter,$accion,$desde,$hasta)
{
global $todo;
$aunHay=TRUE;
$pordonde=0;
$espaciosQueQuitamos=0;
$primerDesde=strpos($todo,$desde,0);
$caracteresMetidos=strlen($cadenaQueVamosAMeter);
if ($accion=="meter") $espaciosQueQuitamos=0;else
{
$espaciosQueQuitamos= strlen($cadenaDesdeDondeMetemos);
}
if ($primerDesde)
{
do{
$donde=strpos($todo,$desde,$pordonde);
$pordonde=$donde;
if ($donde)
{
$hastaDonde=strpos($todo,$hasta,$donde);
do{
$PosicionDelComentario = strpos($todo, $cadenaDesdeDondeMetemos, $pordonde);
if ($PosicionDelComentario<$hastaDonde && $PosicionDelComentario>0)
{
$todo= substr_replace ($todo, $cadenaQueVamosAMeter,$PosicionDelComentario+1, $espaciosQueQuitamos);
$hastaDonde=$hastaDonde-$espaciosQueQuitamos+$caracteresMetidos;
$pordonde=$PosicionDelComentario+1;
$quedanmasaqui=true;
}
else
{
$pordonde=$hastaDonde;
$quedanmasaqui=false;
}
}while ($quedanmasaqui);
}
}while($donde);
}
}









public static function cerrarEtiquetas($cual)
{
global $todo;
$donde="";
$desde=0;
do{
$donde=strpos($todo,$cual,$desde);
if ($donde)
{
$laEtiquetaCerradaMal = strpos($todo, '>', $donde);
$todo= substr_replace ($todo, '/',$laEtiquetaCerradaMal, 0);
}
$desde=$donde+1;
}while($donde);
}

public static function cambiarMayusculasPorMinusculas ($url)
{
global $todo;
$queBusco="";
global $etiquetasAPonerEnMinusculas;
foreach($etiquetasAPonerEnMinusculas as $clave)
{
$desde=0;
do {
$donde=strpos($todo,$clave,$desde);
$loQuePongo=strtolower($clave);
if ($donde) $todo= substr_replace ($todo,$loQuePongo,$donde,strlen($clave));
$desde=$donde+1;
}while ($donde);
}
}

}
?>


archivo http://vecinos.urbanizacioncasasverdes.org/web2/trucos/configuracion.php

<?php
$urlDeTuBlog="http://completamentevalido.blogspot.com";
$SitiosDondeReemplazarElAmp;
$SitiosDondeReemplazarElAmp["LinkDelNavbar"] = "http://www.blogger.com/dyn-css/authorization.css?targetBlogID";
$SitiosDondeReemplazarTodasLasAparicionesDelAmp;
$SitiosDondeReemplazarTodasLasAparicionesDelAmp["LinkDelDeleteComment"]['desde'] = "href='http://www.blogger.com/delete-comment.g?";
$SitiosDondeReemplazarTodasLasAparicionesDelAmp["LinkDelDeleteComment"]['hasta'] = "onclick";

$SitiosDondeReemplazarTodasLasAparicionesDelAmp["elLinkDelComment"]['desde']="href='https://www.blogger.com/comment.g?blogID";
$SitiosDondeReemplazarTodasLasAparicionesDelAmp["elLinkDelComment"]['hasta'] = "onclick";

$SitiosDondeReemplazarTodasLasAparicionesDelAmp["elLinkDeLosPostEdit"]['desde']="<a href='http://www.blogger.com/post-edit.g?blogID=";
$SitiosDondeReemplazarTodasLasAparicionesDelAmp["elLinkDeLosPostEdit"]['hasta'] = "title=";

$SitiosDondeReemplazarTodasLasAparicionesDelAmp["LinkDelQuikedit"]['desde'] = "href='http://www.blogger.com/rearrange?blogID";
$SitiosDondeReemplazarTodasLasAparicionesDelAmp["LinkDelQuikedit"]['hasta'] = "onclick";

$SitiosDondeReemplazarTodasLasAparicionesDelAmp["laImagendelcalendar"]['desde'] = "src='http://gmodules.com/ig/rgp";
$SitiosDondeReemplazarTodasLasAparicionesDelAmp["laImagendelcalendar"]['hasta'] = "/>";


$SitiosDondeReemplazarTodasLasAparicionesDelAmp["objectDataDelCalendarGoogle"]['desde'] = "object data='http://1.blogger.gmodules.com/gadgets/ifr";
$SitiosDondeReemplazarTodasLasAparicionesDelAmp["objectDataDelCalendarGoogle"]['hasta'] = "/object>";



$SitiosDondeReemplazarElIframe;
$SitiosDondeReemplazarElIframe["iframeDelNavBar"] = "<iframe src=\"http://www.blogger.com/navbar.g?targetBlog";
$SitiosDondeCerrarEtiquetaMalCerrada["laDelParamQueGeneraAlMeterUnVideoPorElEditorDePost"]="<param name=";
$codigosAQuitar["elMarginWithDeLosIframes"]="marginwidth=\"0\"";
$codigosAQuitar["elMarginHeightDeLosIframes"]="marginheight=\"0\"";
$codigosAQuitar["elscrollingDeLosIframes"]="scrolling=\"no\"";
$codigosAQuitar["elTargetBlankDeLosLinks"]="target='_blank'";
$codigosAQuitar["elFrameBorderDelosIframes"]="frameborder=\"0\"";
$codigosAQuitar["elBorderDelasImagenes"]="border=\"0\"";

$etiquetasAPonerEnMinusculas[]="<A ";
$etiquetasAPonerEnMinusculas[]="<A>";
$etiquetasAPonerEnMinusculas[]="</A>";
$etiquetasAPonerEnMinusculas[]="<P>";
$etiquetasAPonerEnMinusculas[]="</P>";
$etiquetasAPonerEnMinusculas[]="HREF=";
$etiquetasAPonerEnMinusculas[]="REL=";
$etiquetasAPonerEnMinusculas[]="<BR>";
$etiquetasAPonerEnMinusculas[]="<BR/>";
$etiquetasAPonerEnMinusculas[]="<I>";
$etiquetasAPonerEnMinusculas[]="</I>";
$etiquetasAPonerEnMinusculas[]="<B>";
$etiquetasAPonerEnMinusculas[]="</B>";

?>

0 comentarios: