Bonjour
Je met la dernière main à mon programme php, qui traduit automatiquement les scripts html en leur équivalent json.
Je sèche sur une regex, censée sélectionner ce qui précède une balise correcte ( ouvrante ou fermante ), sachant que le contenu qui précède peut éventuellement contenir "<" et/ou ">".
Les commentaires html ( classiques et Microsoft ) et les scripts sont filtrés et restitués séparément, et les balises <link et<meta faussement block sont corrigés inline.
Le contenu json est produit, mais je bute sur un token imprévu.
Par exemple, j'ai ce token : "%<=5</em>"
Je dois sélectionner "%<=5" et puis "</em>".
Quelle regex pourrait convenir ?
Si je fais :
Cà ne peut pas coller, puisque le contenu contient un "<".
Si je fais :
Là il prend tout le token.
Comment faire ?
Merci beaucoup pour votre aide.
Amicalement.
Je met la dernière main à mon programme php, qui traduit automatiquement les scripts html en leur équivalent json.
Je sèche sur une regex, censée sélectionner ce qui précède une balise correcte ( ouvrante ou fermante ), sachant que le contenu qui précède peut éventuellement contenir "<" et/ou ">".
Les commentaires html ( classiques et Microsoft ) et les scripts sont filtrés et restitués séparément, et les balises <link et<meta faussement block sont corrigés inline.
Le contenu json est produit, mais je bute sur un token imprévu.
Par exemple, j'ai ce token : "%<=5</em>"
Je dois sélectionner "%<=5" et puis "</em>".
Quelle regex pourrait convenir ?
Si je fais :
PHP:
if(preg_match("{^([^\<]+)(?:\<(?:\/)?[a-zA-Z0-9\.-]+)*(?:[ \t]+[^=]+=\"[^\"]+\")*}u", $tmp_data, $output))
Cà ne peut pas coller, puisque le contenu contient un "<".
Si je fais :
PHP:
if(preg_match("{^(.+)(?:\<(?:\/)?[a-zA-Z0-9\.-]+)*(?:[ \t]+[^=]+=\"[^\"]+\")*}u", $tmp_data, $output))
Là il prend tout le token.
Comment faire ?
Merci beaucoup pour votre aide.
Amicalement.