[PHP] éviter les mots orphelins dans un texte
Fermé
geemeetheway
Messages postés
2
Date d'inscription
mercredi 25 mars 2009
Statut
Membre
Dernière intervention
25 mars 2009
-
25 mars 2009 à 16:31
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 25 mars 2009 à 18:58
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 25 mars 2009 à 18:58
A voir également:
- [PHP] éviter les mots orphelins dans un texte
- Éviter pub youtube - Accueil - Streaming
- Excel cellule couleur si condition texte - Guide
- Transcription audio en texte word gratuit - Guide
- Mettre un texte en majuscule - Guide
3 réponses
gryzzly
Messages postés
4608
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
24 octobre 2020
1 335
25 mars 2009 à 17:01
25 mars 2009 à 17:01
Puisque tu parles de paragraphes, je suppose que tu respectes la nomenclature html et utilises les balises <p></p> ?
Dans ce cas, pourquoi ne pas parser ton code, récupérer les chaines comprises entre <p></p>, qui deviennent alors $TheParagraph, et pour chacun des paragraphes, tu exécute ta fonction anti orphelin.
https://www.google.fr/search?q=php+text+between+string&gws_rd=ssl
Dans ce cas, pourquoi ne pas parser ton code, récupérer les chaines comprises entre <p></p>, qui deviennent alors $TheParagraph, et pour chacun des paragraphes, tu exécute ta fonction anti orphelin.
https://www.google.fr/search?q=php+text+between+string&gws_rd=ssl
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
25 mars 2009 à 18:46
25 mars 2009 à 18:46
salut,
il faut d'abord découper les paragraphes, les mettre dans un tableau et boucler pour appliquer ton nettoyage, en partant du principe que le retour chariot est codé avec la valeur du serveur :
si les balises <p> sont enregistrés dans la base, tu peux découper avec une expression régulière.
il faut d'abord découper les paragraphes, les mettre dans un tableau et boucler pour appliquer ton nettoyage, en partant du principe que le retour chariot est codé avec la valeur du serveur :
<?php function anti_orphelins($TheParagraph) { $paragraphs = explode(PHP_EOL, $TheParagraph); foreach($paragraphs as $key => $p) if(substr_count($p," ") > 1) { $lastspace = strrpos($p," "); $paragraphs[$key] = substr_replace($p," ",$lastspace,1); } return implode(PHP_EOL, $paragraphs); } ?>
si les balises <p> sont enregistrés dans la base, tu peux découper avec une expression régulière.
geemeetheway
Messages postés
2
Date d'inscription
mercredi 25 mars 2009
Statut
Membre
Dernière intervention
25 mars 2009
25 mars 2009 à 18:54
25 mars 2009 à 18:54
Intéressant Dalida comme solution mais les paragraphes sont déjà encapsulés avec le tag < p >.
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
>
geemeetheway
Messages postés
2
Date d'inscription
mercredi 25 mars 2009
Statut
Membre
Dernière intervention
25 mars 2009
25 mars 2009 à 18:54
25 mars 2009 à 18:54
si les balises <p> sont enregistrés dans la base, tu peux découper avec une expression régulière.
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
25 mars 2009 à 18:58
25 mars 2009 à 18:58
preg_match_all ( '\<p\>(.+)\<\/p\>', $TheParagraph, $paragraphs);
je suis pas sûr de l'échappement sur < et >.