Salut,
Je souhaite couper des chaines trop longues pour ne pas perturber la mise en page. Sur un topic précédent, j'ai lu ça:
Ce qui fonctionne très bien avec un texte normal. Mais avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?php $texte = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'; $longueur = 10; $caractere = ' '; // Ce que tu utilises pour séparer le mot $texte = preg_replace('`([[:alnum:][:punct:]]{'.$longueur.'})`smU','$1'.$caractere,$texte); echo $texte; ?>
ça ne fonctionne plus les chaines sont coupés dans le code html... Comment prendre en compte les codes html?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $texte = "<a href='#'>Lien</a><a href='#'>Lien</a><a href='#'>Lien</a><a href='#'>Lien</a><a href='#'>Lien</a><a href='#'>Lien</a> <a href='#'>Lien</a><a href='#'>Lien</a><a href='#'>Lien</a><a href='#'>Lien</a><a href='#'>Lien</a><a href='#'>Lien</a><a href='#'>Lien</a>";
Idem avec le code que j'ai fais:
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $mots = explode(' ', $texte); for($i=0;$i<count($mots);$i++) { if (strlen($mots[$i]) > 49) { $start_mot = substr($mot[$i], 0, 49); $end_mot = substr($mot[$i], 49, strlen($mots[$i])); $new_mot = $start_mot.' '.$end_mot; $texte = str_replace($mots[$i], $new_mot, $texte); } }
Partager