Comment conserver le texte avec 'preg_replace' ?
Dans la pratique...
$texte = <<<EOT
##### Section 1 : Section 1
###### Article 1
Bla
Bla
Bla
##### Section 2 : Section 2
###### Article 2
Bla
Bla
Bla
EOT;
$texte = '<p>'.preg_replace('/[\r\n]+/', '</p><p>', $texte).'</p>';
$texte = preg_replace('/<p>(\s*)(.*?)(\s*)<\/p>/m', '<p>$2</p>', $texte);
$texte = preg_replace('/<p.*?>#{1,}(\s)(Section)(.*?)<\/p>', '<div class="section">$2$3</div>', $texte);
echo $texte;
Or, mes deux sections reformatées s'affichent, *puis* les paragraphes. Or, je veux 'Section 1-> Article 1 (quand j'aurai trouvé la solution) -> Paragraphe', puis ' Section 2-> Article 2 -> Paragraphe,J'ai essayé avec le quantificateur global 'g', qui ne plait pas à Php. 'm' ne change rien. J'ai essayé aussi avec 'preg_replace_callback", sans résultat.
(La solution ne passe pas par Markdown.)
Le nombre de croisillons ('#') peut être variable, empêchant le recours à 'str_replace'.
Merci pour votre aide.
Térébenthine