diff --git a/ecrire/inc_documents.php3 b/ecrire/inc_documents.php3 index f67bb578fd0d9d2ff0646a768370e0343daa4d87..a25af7a302738a2c3f7203a7ffac38950499044b 100644 --- a/ecrire/inc_documents.php3 +++ b/ecrire/inc_documents.php3 @@ -386,14 +386,16 @@ function integre_image($id_document, $align, $type_aff) { // // Traitement des images et documents <IMGxx|right> pour inc_texte // -function inserer_documents($letexte, $matches) { +function inserer_documents($letexte) { # HACK: empecher les boucles infernales lorsqu'un document est mentionne # dans son propre descriptif (on peut citer un document dans un autre, # mais il faut pas trop pousser...) static $pile = 0; if (++$pile > 5) return ''; - foreach ($matches as $match) { + foreach ( + preg_match_all(__preg_img, $letexte, $matches, PREG_SET_ORDER) + as $match) { $type = strtoupper($match[1]); if ($type == 'EMB') $rempl = embed_document($match[2], $match[4]); diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3 index 8fc3b1a9fe822c88f79847479ba163c4478f102d..cc438f1bdd6f4db565e09b3e9338b3fece84bd0b 100644 --- a/ecrire/inc_texte.php3 +++ b/ecrire/inc_texte.php3 @@ -476,9 +476,9 @@ function typo($letexte, $echapper=true) { // // NOTE : dans propre() ceci s'execute avant les tableaux a cause du "|", // et apres les liens a cause du traitement de [<imgXX|right>->URL] - if (preg_match_all(__preg_img, $letexte, $matches, PREG_SET_ORDER)) { + if (preg_match(__preg_img, $letexte)) { include_ecrire('inc_documents'); - $letexte = inserer_documents($letexte, $matches); + $letexte = inserer_documents($letexte); } // Appeler les fonctions de post-traitement