Lire fichiers html avec php
Fermé
Bonjour,
je veux une solution qui peux m'aider à la visualisation du code source d'un fichier html pour pouvoir lire tout le fichier html et voir si les attributs title et elt sont disponible dans les les balises <a>et <img>sinon il les rajoute
si il vous plait c tres urgent
je veux une solution qui peux m'aider à la visualisation du code source d'un fichier html pour pouvoir lire tout le fichier html et voir si les attributs title et elt sont disponible dans les les balises <a>et <img>sinon il les rajoute
si il vous plait c tres urgent
A voir également:
- Lire fichiers html avec php
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire fichier epub - Guide
- Lire fichier bin - Guide
- Lire fichier iso - Guide
- Lire fichier dat - Guide
16 réponses
BartWadela
Messages postés
562
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
3 février 2010
107
23 oct. 2008 à 19:14
23 oct. 2008 à 19:14
prend notepad++
ouvre tes fichiers html un par un
fais ctrl+F -- 'replace'
et tu fais la manip pour les balises ALT et TITLE
depuis 15h47 , tu aurais deja fini
ouvre tes fichiers html un par un
fais ctrl+F -- 'replace'
et tu fais la manip pour les balises ALT et TITLE
depuis 15h47 , tu aurais deja fini
chris05
Messages postés
348
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
24 septembre 2024
28
22 oct. 2008 à 16:14
22 oct. 2008 à 16:14
Je comprend pas ce que tu ve :s
Tu pe être plus clair stp ?
Tu pe être plus clair stp ?
d'abord merci pour l'interet que vous porter à mon probleme chris05,mnt je vais vous eclaircir le probleme:
je veux selectionner un fichier html dans une liste deroulante et ensuite je dois lire le code source de ce fichier pour je je puisse verifier si les attributs ALT et TITLE sont presonts ou non dans les balises <img> et <a> sinon il faut les rajouter
stp si vous une idee sur ca tu peux m'envoyer un message directement sur ma boite
nissrine-20_21@hotmail.com
je veux selectionner un fichier html dans une liste deroulante et ensuite je dois lire le code source de ce fichier pour je je puisse verifier si les attributs ALT et TITLE sont presonts ou non dans les balises <img> et <a> sinon il faut les rajouter
stp si vous une idee sur ca tu peux m'envoyer un message directement sur ma boite
nissrine-20_21@hotmail.com
chris05
Messages postés
348
Date d'inscription
jeudi 13 mars 2008
Statut
Membre
Dernière intervention
24 septembre 2024
28
23 oct. 2008 à 15:34
23 oct. 2008 à 15:34
D'accord, j'ai compris ce ke tu voulé ;)
Mé c pas évident :(
Si j'trouve la solution, j'te diré ça, je vé demandé un peu autour de moi ;)
Peut-être A+ ;)
Bon courage dans tes recherches ;)
Mé c pas évident :(
Si j'trouve la solution, j'te diré ça, je vé demandé un peu autour de moi ;)
Peut-être A+ ;)
Bon courage dans tes recherches ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
23 oct. 2008 à 16:43
23 oct. 2008 à 16:43
Bonjour.
Tu peux préciser ce qui te pose problème :
- Lecture du fichier HTML
- Trouver les IMG / A
- Regarder s'ils ont un attribut ALT
- Insérer l'attribut
?
Tu peux préciser ce qui te pose problème :
- Lecture du fichier HTML
- Trouver les IMG / A
- Regarder s'ils ont un attribut ALT
- Insérer l'attribut
?
stephane_mc2004
Messages postés
755
Date d'inscription
samedi 12 juillet 2008
Statut
Membre
Dernière intervention
8 février 2011
96
23 oct. 2008 à 16:50
23 oct. 2008 à 16:50
bonjour, il te suffit de lire le fichier avec php, voici un tuto : https://www.commentcamarche.net/contents/791-php-les-fichiers
puis cree une variable (en javascript ou en php, mais je prefere le Js) qui contiendra le contenu du fichier html affiché sur la page (pour l'afficher cree dabord une variable php qui contiendra le code html de la page, et tu fais un
et tu ecris le reste du script
tu recherche dans cette variable codeHtml la presence de "alt" dans une balise img avec
si sa donne -1 alors, pas de alt dans le code html, sinon il y en a : !!
puis cree une variable (en javascript ou en php, mais je prefere le Js) qui contiendra le contenu du fichier html affiché sur la page (pour l'afficher cree dabord une variable php qui contiendra le code html de la page, et tu fais un
echo $variable_contenant_le_code_html ;et aussi
echo "<script> var codeHtml = " . $variable_contenant_le_code_html . " ;" ;
et tu ecris le reste du script
tu recherche dans cette variable codeHtml la presence de "alt" dans une balise img avec
indexOf("alt"):
si sa donne -1 alors, pas de alt dans le code html, sinon il y en a : !!
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
>
hanane
23 oct. 2008 à 19:04
23 oct. 2008 à 19:04
hanane
>
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
23 oct. 2008 à 19:50
23 oct. 2008 à 19:50
macgawel tu peux m'aider à la recherche des balises <img>et <a> pour verifier si les attributs title et alt sont presents ou non ,
moi j'ai deja lu tous les cours de fichiers avec php mais j'ai pa trouver quelque choses sur ce probleme
stp tu peux m'aider il me reste que ce jour pour render le travail
moi j'ai deja lu tous les cours de fichiers avec php mais j'ai pa trouver quelque choses sur ce probleme
stp tu peux m'aider il me reste que ce jour pour render le travail
Utilisateur anonyme
23 oct. 2008 à 16:54
23 oct. 2008 à 16:54
on n'a pas besoin de PHP pour lire du HTML on clique sur le bouton droit et on lit on peut meme sauvegarder
BartWadela
Messages postés
562
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
3 février 2010
107
23 oct. 2008 à 19:51
23 oct. 2008 à 19:51
mais pourquoi du php ?
tout tes fichiers html sont sur un serveur ?
en batch c'est possible et limite plus rapide, mais uniquement si les fichiers sont sur ta becane ?
tout tes fichiers html sont sur un serveur ?
en batch c'est possible et limite plus rapide, mais uniquement si les fichiers sont sur ta becane ?
BartWadela
Messages postés
562
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
3 février 2010
107
23 oct. 2008 à 20:09
23 oct. 2008 à 20:09
fais d'abord un script qui te copie tes fichiers .html vers on dossier de travail mais avec l'extension .txt
ensuite avec tes fichiers .txt tu les modifs tu les renommes en .html et tu les renvoi dans ton dossier de depart et hop une mise a jour de faite
**
pour le php, le mieux ce serai de faire apparaitre le txt dans une textarea, avec 2 ou 3 boutons cliquables un pour ALT un pour TITLE etc ...
et dans un deuxieme textarea le texte corrigé, puis un bouton valider pour modifier le fichier.txt
apres pour les modif du texte tu utilise str_replace
**
si tu veux le faire en automatique ... bon courage , tu va surement passer plus de temps a tester le fonctionnement de ton script, qu'a le taper
ensuite avec tes fichiers .txt tu les modifs tu les renommes en .html et tu les renvoi dans ton dossier de depart et hop une mise a jour de faite
**
pour le php, le mieux ce serai de faire apparaitre le txt dans une textarea, avec 2 ou 3 boutons cliquables un pour ALT un pour TITLE etc ...
et dans un deuxieme textarea le texte corrigé, puis un bouton valider pour modifier le fichier.txt
apres pour les modif du texte tu utilise str_replace
**
si tu veux le faire en automatique ... bon courage , tu va surement passer plus de temps a tester le fonctionnement de ton script, qu'a le taper
je vais l'essayer avec cette methode et j'espere que je vais y arriver merci pour ton aide ,mais je vais etre surement besoin de toi,si tu peux suivre avec moi le fonctionnement de ça ,ça sera vraiment tres getill de ta part
voici mon adresse si veux m'ajouter sur ta liste de contactes ::nissrine-20_21@hotmail.com
voici mon adresse si veux m'ajouter sur ta liste de contactes ::nissrine-20_21@hotmail.com
BartWadela
Messages postés
562
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
3 février 2010
107
23 oct. 2008 à 20:35
23 oct. 2008 à 20:35
paie ton spam !!
faut pas mettre son adresse mail en ligne, c'est emmerdant pour toi apres
**
fais ton script en plusieurs etapes >
>
>>> préparation + copie des fichiers vers dossier travail
>>> affichage/modif. des fichier dans le dossier de travail
>>> préparation/copie des fichier corrigé de dossier travail vers dossier définitif
**
pour ton adresse va sur mon profil; regarde l'image et envoi moi un mail depuis ta bte mail, comme ca je n'aurai pas a noté, car la je suis au taf ; je suis pas sur mon PC
merci
bon courage
A+
faut pas mettre son adresse mail en ligne, c'est emmerdant pour toi apres
**
fais ton script en plusieurs etapes >
>
>>> préparation + copie des fichiers vers dossier travail
>>> affichage/modif. des fichier dans le dossier de travail
>>> préparation/copie des fichier corrigé de dossier travail vers dossier définitif
**
pour ton adresse va sur mon profil; regarde l'image et envoi moi un mail depuis ta bte mail, comme ca je n'aurai pas a noté, car la je suis au taf ; je suis pas sur mon PC
merci
bon courage
A+
BartWadela
Messages postés
562
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
3 février 2010
107
>
hanane
24 oct. 2008 à 11:41
24 oct. 2008 à 11:41
pour convertir un fichier .htm ou .html en .txt sur un serveur
tu prend ton fichier de base, tu demande a ton script t'enlever les 3 ou 4 derniers caracteres et de les remplacer par .txt
comme un script d'upload/vérification avant envoi sur ftp
tu prend ton fichier de base, tu demande a ton script t'enlever les 3 ou 4 derniers caracteres et de les remplacer par .txt
comme un script d'upload/vérification avant envoi sur ftp
Utilisateur anonyme
24 oct. 2008 à 11:39
24 oct. 2008 à 11:39
pardon je n avais pas compris en faite tu veux "parser" du HTML
il existe des fonctions xml faites pour ça dans le module xml
en quelques fonctions tu mets tout ça dans un tableau
et tu en fais ce que tu veux aprés
exemple http://jeanmichel.gens.free.fr/xml2.php?f=index.php
tu remplaces index.php par un autre fichier
il existe des fonctions xml faites pour ça dans le module xml
en quelques fonctions tu mets tout ça dans un tableau
et tu en fais ce que tu veux aprés
exemple http://jeanmichel.gens.free.fr/xml2.php?f=index.php
tu remplaces index.php par un autre fichier
svp jmg vous pouvez m'aider comment je peux chercher un mot clè qu'on va l preciser dans une zone de texte dans le formulaire de telechargement de fichier et ce mot clé doit etre l'un des attributs des balises <img> ou <a>
donc la recherche doit se passer au niveau de ces balises exactement
pouvez vous m'aider et merci pour votre aide
donc la recherche doit se passer au niveau de ces balises exactement
pouvez vous m'aider et merci pour votre aide
hani_
Messages postés
333
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
18 novembre 2009
20
24 oct. 2008 à 12:52
24 oct. 2008 à 12:52
pour parser un fichier html simplement rapidement et efficacement renseignes toi sur les template XSL
ensuite tu crée ton template tu lui passe en entrée le fichier a parser et tu lui demande en sortit un fichier html.
ensuite tu crée ton template tu lui passe en entrée le fichier a parser et tu lui demande en sortit un fichier html.
Utilisateur anonyme
24 oct. 2008 à 15:06
24 oct. 2008 à 15:06
pour toute aide supplementaire me contacter en vocal
En voyant ton idée, la première chose qui me passe a l'esprit, c'est "expressions régulières".
tu ouvres ton fichier concerné en lecture-ecriture.
et pour chaque ligne, appelle à la fonction preg_replace($expression, $remplacement, $texte_source);
je vais ajouter qu'il est possible à l'aide de la fonction strpos($recherche, $texte_source) de faire une condition permettant de savoir si oui ou non ça vaut la peine de faire un preg_replace($,$,$) (strpos($,$) étant largement moins gourmand en ressource que preg_replace($,$,$)).
ca donnerai en gros
$handle = @fopen($url, "rw");
while(!feof($handle)) {
$buffer = fgets($handle, 2048);
if (strpos("<img", $buffer) !== false || strpos("<a", $buffer) !== false) {
preg_replace("expression_reguliere","texte_de_remplacement",$buffer);
}
}
close($handle);
tu ouvres ton fichier concerné en lecture-ecriture.
et pour chaque ligne, appelle à la fonction preg_replace($expression, $remplacement, $texte_source);
je vais ajouter qu'il est possible à l'aide de la fonction strpos($recherche, $texte_source) de faire une condition permettant de savoir si oui ou non ça vaut la peine de faire un preg_replace($,$,$) (strpos($,$) étant largement moins gourmand en ressource que preg_replace($,$,$)).
ca donnerai en gros
$handle = @fopen($url, "rw");
while(!feof($handle)) {
$buffer = fgets($handle, 2048);
if (strpos("<img", $buffer) !== false || strpos("<a", $buffer) !== false) {
preg_replace("expression_reguliere","texte_de_remplacement",$buffer);
}
}
close($handle);
oups j'ai omis de mettre le code d'ecriture de la nouvelle ligne dans le fichier.
Pour ca en gros, la fonction str_replace() renvoi la chaine modifier, il suffit de l'ecrire dans le fichier a l'aide des fonctions adequates.
Pour ca en gros, la fonction str_replace() renvoi la chaine modifier, il suffit de l'ecrire dans le fichier a l'aide des fonctions adequates.
merci ludz pour ta reponse,
je pense que t'as bien compris le probleme
mais presque j'ai passé tous ces etapes,mais le probleme maintenat est
dans mon programme j'affiche tous les balises <a> d'un fichier HTML qui contiennent pas l'attribut "title",maintenant je dois ajouter cet attribut à tous ces balises,
[b]0____ href="mailto:jean.dupont@free.fr"
1____ id="cuisinea" href="#cuisine"
2____ id="Les rollersa" href="#rollers"[/b]
pour que le resultat soit comme ça:
0____ href="mailto:jean.dupont@free.fr" title=""
1____ id="cuisinea" href="#cuisine" title=""
2____ id="Les rollersa" href="#rollers" title=""
evidemment cet ajout doit apparait dans le code du fichier html c'est pour ça que j'ai utiliser fwrite(),mon code est sous la forme de:
[code]
$motCle='title';
$chemin="telechargement/source.htm";
$ouvrir_fichier=fopen($chemin,'r+') or die('Fichier introuvable');
$contenu=tidy_get_root(tidy_parse_file($chemin));
if (preg_match_all("/<a\s[^>]*href=(\s*(\"??)([^\" >]*?)\\2(?![^<>]*title=)[^<>]+)>(.*)<\/a>/siU",$contenu,$out, PREG_SET_ORDER))
{
foreach($out as $hkey=>$hval)
{
$remplace=$hval[1].' '.'title';
$preg=preg_replace('/'.$hval[1].'/',$remplace,$out[1][1]);
echo $preg.'<br/>';
}
}
fwrite($ouvrir_fichier,$preg);
fclose($ouvrir_fichier);
?>
[/code]
maintenat le probleme c'est que l'ajout se fait seulement dans la derniere balise de mon code HTML ,svp je veux que vous m'aidez à regler la boucle pour que l'ajout se fait dans tous les balises" que ça soit ecrit dans le code html"
merci d'avance pour votre aide
je pense que t'as bien compris le probleme
mais presque j'ai passé tous ces etapes,mais le probleme maintenat est
dans mon programme j'affiche tous les balises <a> d'un fichier HTML qui contiennent pas l'attribut "title",maintenant je dois ajouter cet attribut à tous ces balises,
[b]0____ href="mailto:jean.dupont@free.fr"
1____ id="cuisinea" href="#cuisine"
2____ id="Les rollersa" href="#rollers"[/b]
pour que le resultat soit comme ça:
0____ href="mailto:jean.dupont@free.fr" title=""
1____ id="cuisinea" href="#cuisine" title=""
2____ id="Les rollersa" href="#rollers" title=""
evidemment cet ajout doit apparait dans le code du fichier html c'est pour ça que j'ai utiliser fwrite(),mon code est sous la forme de:
[code]
$motCle='title';
$chemin="telechargement/source.htm";
$ouvrir_fichier=fopen($chemin,'r+') or die('Fichier introuvable');
$contenu=tidy_get_root(tidy_parse_file($chemin));
if (preg_match_all("/<a\s[^>]*href=(\s*(\"??)([^\" >]*?)\\2(?![^<>]*title=)[^<>]+)>(.*)<\/a>/siU",$contenu,$out, PREG_SET_ORDER))
{
foreach($out as $hkey=>$hval)
{
$remplace=$hval[1].' '.'title';
$preg=preg_replace('/'.$hval[1].'/',$remplace,$out[1][1]);
echo $preg.'<br/>';
}
}
fwrite($ouvrir_fichier,$preg);
fclose($ouvrir_fichier);
?>
[/code]
maintenat le probleme c'est que l'ajout se fait seulement dans la derniere balise de mon code HTML ,svp je veux que vous m'aidez à regler la boucle pour que l'ajout se fait dans tous les balises" que ça soit ecrit dans le code html"
merci d'avance pour votre aide
23 oct. 2008 à 19:34