Domanda

Sto cercando una soluzione ad un nido di topi codice mi è stato consegnato - è enorme in termini di volume, quindi sto cercando suggerimenti per un approccio programmatico a commentare ciò che div chiude dove

.

Esempio:

prima

<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>

DOPO

<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 -->

Ho provato un paio di tentativi Regex con nessuna gioia, sarei curiosa di ciò che l'approccio migliore è ..

È stato utile?

Soluzione

Se è Valid XHTML, allora si può solo metterlo in un documento XML e quindi procedere a elaborare i tag div trovando tutti loro, quindi l'aggiunta di un fratello che ha il nodo commento che si desidera.

Altri suggerimenti

Un'espressione regolare solitaria potrebbe funzionare, ma potrebbe essere migliore di scrivere un programma che si arricchisce di espressioni regolari. Prendi il testo tra < div id=" e >, quindi aggiungere che in un elenco o una pila, e collegarlo, in ordine, con un indice int. Continuare la scansione e su di trovare un 'tag', pop il testo più recente sullo stack, e formattarlo a diventare un commento.

mi basta usare uno script per il rientro correttamente il codice HTML in modo da poter verificare a colpo d'occhio se tutti i tag siano chiusi correttamente - il rientro correttamente torna a toccare il margine sinistro. Per controllare ciò che corrisponde a ciò che l'apertura chiusura io uso un editor di testo pieghevole come SciTE o Komodo Edit in modo da poter analizzare il codice correttamente rientrato aprendo e collasso sezioni.

Se qualcuno è interessato nello script rientro (scritto in tcl) posso caricarlo da qualche parte. In alternativa si può provare ad usare qualcosa di simile HTMLTidy a fare la formattazione.

È possibile utilizzare un'API XML / DOM per una determinata lingua e giocare con il modo in cui gestisce commento oggetti. Ad esempio, Python - http://docs.python.org/ biblioteca / xml.dom.html # comment-oggetti

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

Basta usare un editor decente che mette in evidenza il tag di inizio / fine. Anche notepad2 fa questo. La maggior parte dei redattori possono anche selezionare tag e contenuto, o solo il contenuto. Molti redattori anche riformattare il codice html per voi (se avete il coraggio).

Commentando la fine del tag sta per arrivare fuori sincrono ed essere ancora più difficile da seguire per voi oi vostri colleghi.

Se si finisce per aggiungere commenti con successo ridondanti per ogni div, arco, p, ul, ecc tag, credo che troverete il codice è ancora più gonfio e illeggibile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top