J'aimerais couper une chaine de caractère à un nombre max de caractères. J'utilise actuellement:
Code : Tout sélectionner
$text = substr($text, 0, ($maxChar - 1));Existe-t-il une solution simple ou dois-je passer par un algo lourdaud?
Code : Tout sélectionner
$text = substr($text, 0, ($maxChar - 1));
$text = str_replace('\n','<',$text); et après tu fais ta découpe
Bien sur que si. Tu dois juste utiliser des doubles apostrophes (") et pas des simples ('), sinon php n'interprète pas \n comme un retour à la ligne, mais comme ce qu'il est, \n. Fab a fait une petite erreur, c'est tout.j'ai quand même testé et je me suis aperçu que le str_replace('\n', 'test', $text) ne remplaçait rien du tout: mon retour-chariot n'est pas codé avec '\n' on dirait...
$text = str_replace("\n","<",$text);
Et personnellement j'utiliserais un autre symbole pour démarquer le saut la ligne, comme la barre | .Code : Tout sélectionner
$text = str_replace("\r\n","|",$text);
utilise ceci plutôt:Merci pour votre aide.
Voici finalement le bout de code qui marche:Code : Tout sélectionner
$text = str_replace("\r\n","|",$text);
$text = str_replace("\r\n|\n","|",$text);
L'encodage des retours à la ligne peut dépendre des plateformes et des navigateurs (enfin, ça dépend d'où vient le texte au départ).