Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > DOM
DOM Forum d'entraide pour l'extension DOM permettant de manipuler des documents XML en PHP 5 (approche DOM). Avant de poster -> tutoriels DOM
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/10/2011, 19h08   #1
Membre du Club
 
Homme Boris
conception et traitement de documents xhtml
Inscription : août 2011
Messages : 107
Détails du profil
Informations personnelles :
Nom : Homme Boris
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : conception et traitement de documents xhtml
Secteur : Conseil

Informations forums :
Inscription : août 2011
Messages : 107
Points : 59
Points : 59
Par défaut Supprimer une balise div vide

Bonjour,

Après traitement de mon document xhtml, j'obtiens des balises <div> vides (sans noeuds explicites, mais avec des retours chariot, sauts de ligne, espaces)
Code :
1
2
3
4
5
<div class="Document_section">
 
 
 
</div>
Comment puis-je supprimer de telles balises div ?
J'ai essayé d'utiliser le paramètre preserveWhiteSpace = false
Code :
1
2
$text_area_xhtml = new DOMDocument();
$text_area_xhtml -> preserveWhiteSpace = FALSE;
et de supprimer ces div à l'aide du code
Code :
1
2
3
4
5
6
7
8
9
10
$text_area_xpath = new DOMXPath($text_area_xhtml);
$query = '//div[@class ="Document_section"]';
$divs = $text_area_xpath -> query($query);
foreach ($divs as $div)
{
	if($div -> hasChildNodes() == false)
	{
		$div -> parentNode -> removeChild($div);
	}
}
mais mes div inutiles restent toujours en place.

Merci d'avance
Doc_xhtml est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2011, 11h15   #2
Membre du Club
 
Homme Boris
conception et traitement de documents xhtml
Inscription : août 2011
Messages : 107
Détails du profil
Informations personnelles :
Nom : Homme Boris
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : conception et traitement de documents xhtml
Secteur : Conseil

Informations forums :
Inscription : août 2011
Messages : 107
Points : 59
Points : 59
Ça me dérangeait de voir une question non encore résolue dans ma liste de [Résolu].

Voici donc le code permettant de supprimer une div vide :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
$divs = $doc_xpath -> query('//div');
 
foreach ($divs as $div)
{
	$div_vide = true;
	foreach($div -> childNodes as $node)
	{
		if(preg_match('#\w#', $node -> nodeValue))
		{
			$div_vide = false;
			break;
		}
	}
 
	if($div_vide == true)
		{$div -> parentNode -> removeChild($div);}
}
Doc_xhtml est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h52.


 
 
 
 
Partenaires

Hébergement Web