Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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 07/02/2011, 11h06   #1
Invité de passage
 
Inscription : février 2010
Messages : 21
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 21
Points : 2
Points : 2
Par défaut equivalent is_html() php

Bonjour à tous,

Je souhaiterai savoir s'il existe une fonction en php qui permettrait lors de la lecture d'un fichier de savoir si la ligne en cour de lecture est de type html (contient une balise HTML) ou pas.

J'ai essayé avec la fonction TidyNode::isHtml, et ca n'a pas l'air de fonctionner puisqu'elle me renvoie TRUE même pour une ligne contenant uniquement du php.


Merci par avance et bonne journée.
Djaydjay13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 11h16   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
essaye de comparer la chaine avec un strip_tags
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/02/2011, 11h31   #3
Invité de passage
 
Inscription : février 2010
Messages : 21
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 21
Points : 2
Points : 2
Merci pour ta réponse, mais je ne vois pas vraiment où tu veux en venir.

strip_tags() supprime les balises html et php, comment puis je faire pour vérifier s'il s'agit bien d'une ligne contenant de l'html avec cette fonction ?
Djaydjay13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 11h33   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par Djaydjay13 Voir le message
Merci pour ta réponse, mais je ne vois pas vraiment où tu veux en venir.

strip_tags() supprime les balises html et php, comment puis je faire pour vérifier s'il s'agit bien d'une ligne contenant de l'html avec cette fonction ?
si la chaine est différente avec le strip_tags alors c'est du HTML...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function is_html($str)
{
    return strip_tags($str) !== $str;
}
 
$str = 'hello';
var_dump(is_html($str));
 
$str = '<p>hello</p>';
var_dump(is_html($str));
 
/*
bool(false)
bool(true)
*/
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 12h10   #5
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
C'est pas faux mais ça ne fournit pas une information sûre, exemple:
Code :
1
2
3
4
5
6
 
$str = '<xml>hello</xml>';
var_dump(is_html($str)); // true
 
$str = '<xsl:apply-templates />';
var_dump(is_html($str)); // true
Il faudrait tester l'intégralité du Document XHTML pour déterminer avec certitude son type.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 12h11   #6
Invité de passage
 
Inscription : février 2010
Messages : 21
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 21
Points : 2
Points : 2
ça marche parfaitement, merci pour ton aide.

Bonne journée
Djaydjay13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 13h26   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par Benjamin Delespierre Voir le message
C'est pas faux mais ça ne fournit pas une information sûre, exemple:
Code :
1
2
3
4
5
6
 
$str = '<xml>hello</xml>';
var_dump(is_html($str)); // true
 
$str = '<xsl:apply-templates />';
var_dump(is_html($str)); // true
Il faudrait tester l'intégralité du Document XHTML pour déterminer avec certitude son type.
de toutes façons on peux jamais être sur de se genre d'information, il suffis qu'un texte quelconque comporte ce qui est pour nous une balise HTML et c'est ça sera considéré en tant que que tel (dixit Perceval)
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 14h22   #8
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
EH oui. Pour moi, le seul moyen sûr c'est de le faire valider par la DTD kivabien
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 14h23   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par Benjamin Delespierre Voir le message
EH oui. Pour moi, le seul moyen sûr c'est de le faire valider par la DTD kivabien
le DTD valide en document entier, la on a qu'un seul bout.
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 16h42   #10
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Citation:
Envoyé par Benjamin Delespierre Voir le message
Il faudrait tester l'intégralité du Document XHTML pour déterminer avec certitude son type.
C'est bien ce que je dis
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre 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 08h55.


 
 
 
 
Partenaires

Hébergement Web