Básicamente quiero hacer lo mismo que here que se hace en Python. Me gustaría reemplazar todos los elementos autobloqueados a la sintaxis larga.Cerrando las etiquetas XML abiertas con regex
Ejemplo
<iframe src="http://example.com/thing"/>
convierte
<iframe src="http://example.com/thing"></iframe>
ejemplo completo:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="/sample.css">
<title></title>
<script type="text/javascript" src="/swfobject.js">
//void
</script>
<script type="text/javascript" language="JavaScript" src="/generate.js">
//void
</script>
<script type="text/javascript" language="JavaScript" src="/prototype.js">
//void
</script>
</head>
<body id="mediaPlayer" style="margin:0;padding:0;">
<script type="text/javascript">
swfobject.registerObject('id_G12564763');
function getFlashObject() {
var object;
if (navigator.appName == 'Microsoft Internet Explorer' || navigator.userAgent.indexOf("Chrome")!=-1)
{
object = document.getElementById('id_G12564763');
}
else
{
object = document['flash_id_G12564763'];
}
return object;
}
</script>
</body>
</html>
Tenga en cuenta que http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 describe el inverso de esta operación. – Borealid
Borealid, soy consciente de eso. ¿Sabes cómo solucionar esto con un analizador? Por lo que recuerdo, el XML debe estar bien formado antes de analizarlo con un analizador. Eso es exactamente lo que necesito hacer. He intentado con Tidy, pero eso no funcionó y el proyecto ya no se mantiene. Esta es una pequeña salida html que simplemente tendrá una serie de javascript includes y la etiqueta de inserción de objetos (flash). – user3111525