Pregunta

Estoy buscando una solución a un nido de ratas de código me entregaron - es masivo en volumen, por lo que estoy buscando sugerencias para un enfoque programático para comentar lo que se cierra div donde

.

Ejemplo:

ANTES

<div id="wrapper-item">
<div id="outer-item">
    <div class="inner-item">
<h1>Just Some Placekeeper Copy</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing.</p>
    </div>
</div>  
</div>

después

<div id="wrapper-item">
<div id="outer-item">
    <div class="inner-item">
<h1>Just Some Placekeeper Copy</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing.</p>
    </div><!-- .inner-item -->
</div><!-- #outer-item -->      
</div><!-- #wrapper-item -->

He probado unos cuantos intentos de expresiones regulares sin alegría, tengo curiosidad de lo que el mejor enfoque es ..

¿Fue útil?

Solución

Si es XHTML válido, entonces usted podría ponerlo en un documento XML y luego proceder a procesar las etiquetas div mediante la búsqueda de todos ellos, a continuación, añadir un hermano que tiene el comentario nodo que desea.

Otros consejos

Un trabajo regular la expresión de fuerzas solitario, pero podría ser mejor que escribir un programa que se ve reforzada por las expresiones regulares. Obtener el texto entre < div id=" y >, a continuación, añadir que en una lista o una pila, y vincularlo, en orden, con un índice int. Continuar escanearlo y al encontrar una etiqueta '', pop el texto más reciente en la pila, y el formato que se convierta en un comentario.

Yo sólo tiene que utilizar un script para sangrar correctamente el código HTML para que pueda comprobar de un vistazo si todas las etiquetas estén bien cerrados - la sangría correctamente vuelve a tocar el margen izquierdo. Para comprobar lo primeros partidos el comportamiento del cierre que uso un editor de texto como el plegado o Scite Komodo Edit así que pueden navegar por el código correctamente sangría por las secciones de apertura y colapso.

Si alguien está interesado en el guión sangría (escrito en TCL) puedo subirlo en alguna parte. Alternativamente, usted puede intentar usar algo así como HTMLTidy hacer el formato.

Se puede usar una API XML / DOM para un idioma concreto y el juego con la forma en que maneja objetos de comentario. Por ejemplo, Python - http://docs.python.org/ biblioteca / xml.dom.html # comment-objetos

<div>whatever</div>
<!-- this comment is already deprecated -->

Sólo tiene que utilizar un editor decente que pone de relieve la etiqueta de inicio / final. Incluso notepad2 hace esto. La mayoría de los editores también pueden seleccionar la etiqueta y el contenido o contenidos sólo. Muchos editores también reformatear el código HTML para usted (si se atreve).

Al comentar el final de la etiqueta va a perder la sincronización y ser aún más difícil de seguir para usted o sus compañeros de trabajo.

Si usted termina con éxito la adición de comentarios redundantes para cada div, palmo, p, ul, etiqueta etc, creo que encontrará el código es aún más hinchado y es ilegible.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top