Rechercher : dans
Par :

[PHP + ereg ] Parser un fichier HTML

Dernière réponse le 23 mar 2007 à 17:10:23 system overload, le 22 mar 2007 à 16:33:34 
 Signaler ce message aux modérateurs

[PHP expression régulière]

Bonjour,

Voila mon souci :

J'ai un fichier HTML à parser du style :

<html>

<head>
<title>{translate(#titre à traduire#)}</title>
</head>

blabla, plein de balises etc

<div class="superdiv">{translate(#texte à traduire#)}</div>

</html>



J'essaies donc ça :

// $page est le contenu du fichier html
// $texts le tableau dans lequel je souhaites récupérer mes textes à traduire
ereg("\{translate\(\#(.)*\#\)\}",$page,$texts);


Et là surpise ça ne marche pas :) ça me récupère tout le fichier à partir du premier "{translate".

Please help je suis vraiment trop mauvais avec les expressions régulières :(
Configuration: Windows XP :(
Firefox 2.0

Meilleures réponses pour « [PHP + ereg ] Parser un fichier HTML » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
[Webmaster] Afficher facilement le code php/xhtml de vos pages VoirSi vous voulez proposer a vos visiteurs de voir la source de vos fichiers (PHP ou HTML), il y a plusieurs solutions. En php Afficher le code php Afficher le code html En html Informations Voir aussi En php Afficher le code php La...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Parser du XML VoirIntroduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de...

1

 system overload, le 23 mar 2007 à 17:10:23
  • +1

Merci tout le monde XD

Bon pour ceux que ça interesse j'étais sur la mauvaise voie, en fait pour récupérer toutes les occurences d'une chaine dans une autre il faut utiliser preg_match_all, ce qui dans mon cas donne :

preg_match_all("/\{translate\(\#([^#]*)\#\)\}/",$page,$texts);
$exprs=$texts[0];
$values=$texts[1];

Répondre à system overload