tag supprimer l'expression régulière après un paragraphe avec une classe donnée

StackOverflow https://stackoverflow.com/questions/3973544

  •  09-10-2019
  •  | 
  •  

Question

Y at-il un moyen de sélectionner toutes les balises <br> qui suivent un paragraphe avec une classe donnée? à savoir <p class="myclass">This is a paragraph</p><br>

Il peut y avoir d'autres <br> dans le code HTML, donc je ne peux pas utiliser ceci:

br {display:none;} 

et je ne peux pas supprimer toutes les balises <br>. S'il y a un moyen de sélectionner ces balises particulières <br> alors je peux utiliser CSS.

Il y a environ 700 pages et je ne veux pas passer par chacun d'entre eux pour vous assurer si le <br> est nécessaire ou non. Je ne sais que ce ne soit pas nécessaire à la suite d'un paragraphe à la classe de « MyClass ».

S'il n'y a aucun moyen de sélectionner ces balises alors je pense que je peux utiliser BBEdit pour faire la recherche et de remplacement en utilisant une expression régulière. Mais je ne sais pas comment écrire le RE qui fonctionnerait.

TIA, Linda

Était-ce utile?

La solution

p.myClass+br {display:none;}

Cela permet de sélectionner tous les éléments qui sont <br> directement adjacent à un élément de <p class="myClass">. Si vous avez besoin quelque chose de plus dynamique que cela, vous besoin regex.

Autres conseils

En supposant BBEdit est similaire à TextWrangler, vous pouvez utiliser le dialogue construit en Rechercher.

Aller à la recherche> Rechercher ... (Commande + F), ne « Seach Pour » </p><br> et option « Remplacer par » </p> puis utilisez la « recherche multi-fichier » en bas de la fenêtre pour choisir vos fichiers .

Ce n'est pas une expression régulière, mais puisque vous avez dit que vous utilisez BBEdit, qui est faite par Bare Bones et partage soi-disant beaucoup avec TextWrangler, il devrait fonctionner. (Sinon, il suffit de télécharger gratuitement TW). Il vous donne même une belle pop-up vous dire ce qu'il a trouvé et remplacé dans le cas où vous voulez examen, etc.

Voir cette page pour plus d'informations sur la recherche et d'autres caractéristiques amusantes de BBEdit.

Supposant que vous souhaitez utiliser regex pour supprimer toutes les balises <br> qui suivent un paragraphe avec une classe nommée myclass:

Rechercher: (<p\b[^><]\sclass\s=\s*["']?myclass["']?[^><]>.?<\/p>\s*)<br\s*/?>

Remplacer par: $1

Note, vous devez vous assurer que toutes les balises p dans vos documents HTML sont correctement fermés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top