type - Delimitador invisible para cadenas en HTML
label html hidden (4)
Lo mejor que me gustaría insertar, que no está visible en el navegador, será un par de etiquetas con alguna identificación especial, como <span id="delimiter" class="Delimiter"></span>
. Esto no aparecerá en el contenido, mientras que esto puede estar presente en el documento. No necesita eliminarlos.
Necesito una forma de identificar ciertas cadenas en el marcado HTML. Sé cuáles son las cadenas, pero es posible que puedan ser subcadenas de otras cadenas en el documento. Para encontrarlos, genero un caracter delimitador especial (actualmente usando /032
). En la carga de la página, vamos a través del HTML y registramos la ubicación de las cadenas, y eliminamos el delimitador.
Desafortunadamente, la mayoría de los navegadores muestran el carácter delimitador hasta que podamos encontrarlos y eliminarlos todos. Me gustaría evitar eso si es posible. ¿Hay un carácter o cadena que se conservará en el contenido HTML (por lo que un comentario no funcionará) pero no será visible para el usuario? También debe ser algo que es poco probable que aparezca junto a una cadena, por lo que algo como
tampoco funcionaría.
EDITAR: Perdón, olvidé mencionar que las cadenas estarán en atributos, por lo que cualquier tipo de etiqueta no funcionará.
Puede insertarlos en elementos <span>
. Esto funcionará solo para el texto dentro de la página (no atributos, o similares).
De lo contrario, podría insertar un carácter de espacio en blanco que su programa aún no /x09
como parte del HTML, como un carácter de tabulación ( /x09
), una pestaña vertical ( /x0b
), un retorno de carro desnudo ( /x0d
) - sin un nueva línea al lado, ala codificación de texto de Windows - o solo un byte nulo ( /x00
).
Puede usar marcas de izquierda a derecha (LTR) . ¿Esto es para algún tipo de prueba XSS? Si es así, esto podría ser de interés: compatibilidad con Taint para PHP
‌
- no anotador de ancho cero (ver http://htmlhelp.org/reference/html40/entities/special.html )
En caso de que esto ya aparezca en su texto, ‌‌mytext‌‌
(por ejemplo: ‌‌mytext‌‌
Editar en respuesta al comentario: funciona en Firefox 3. Tenga en cuenta que debe buscar el valor Unicode de la entidad.
<html>
<body>
<div id="test">
This is a ‌test
</div>
<script type="application/javascript">
var myDiv = document.getElementById("test");
var content = myDiv.innerHTML;
var pos = content.indexOf("/u200C");
alert(pos);
</script>
</body>
</html>