str_replace et substr - PHP - Programmation
Marsh Posté le 26-07-2008 à 04:04:19
Code :
|
Marsh Posté le 26-07-2008 à 14:38:59
Et non, avec ça, <br /> n'est pas remplacé. Il apparaît toujours en tant que <br />
Marsh Posté le 26-07-2008 à 19:52:28
Après avoir appliqué la fonction htmlspecialchars, tes caractères '<' et '>' sont remplacé par leurs équivalents en entité-caractère non ? Du coup ton str_replace fonctionne pas car ton pattern ne correspond pas à ce qui se trouve dans la chaine.
Tu devrais peut-être inverser les deux lignes, pour d'abord supprimer les <br /> tels qu'ils apparaissent dans le texte initial, puis couper le texte comme tu le souhaites.
nb: ma réponse se base sur mes souvenirs de php, il est possible que je me trompe quand au résultat de la fonction htmlspecialchars.
edit : Je viens d'aller voir la doc, et effectivement voici ce qu'on y trouve :
Citation : # "<" (inférieur à) devient "<" |
Si tu veux laisser ton code tel quel (pour éviter de faire plus de remplacement que nécessaire), ton pattern pour le str_replace devrait plutôt ressemblait à:
Citation : str_replace('<br />', ' ', $comment_court); |
Marsh Posté le 26-07-2008 à 19:57:16
c0wb0y a écrit : Après avoir appliqué la fonction htmlspecialchars, tes caractères '<' et '>' sont remplacé par leurs équivalents en entité-caractère non ? Du coup ton str_replace fonctionne pas car ton pattern ne correspond pas à ce qui se trouve dans la chaine. nb: ma réponse se base sur mes souvenirs de php, il est possible que je me trompe quand au résultat de la fonction htmlspecialchars.
Si tu veux laisser ton code tel quel (pour éviter de faire plus de remplacement que nécessaire), ton pattern pour le str_replace devrait plutôt ressemblait à:
|
edit2 :
A priori sans même changer le pattern, il suffit d'appliquer le htmlspecialchars sur le retour du str_replace je pense :
Citation : $comment_court= substr($voir['comment'], 0, 50) . "..."; |
nb: mayrde, double post, j'pensais avoir cliquer sur éditer, désolé.
Marsh Posté le 29-07-2008 à 16:15:12
c0wb0y a écrit :
|
Code :
|
Marsh Posté le 26-07-2008 à 02:54:21
Salut,
Je voudrais afficher les 50 premiers caractères d'une requête php et remplacer les <br /> par rien.
Problème, quand je mets ce code, le raccourcissement des commentaires à 50 caractères ne marche plus (mais <br /> est bien remplacé par rien). Y a-til un moyen de corriger ça ?
Code :
$comment_court= htmlspecialchars(substr($voir['comment'], 0, 50)) . "...";
$comment_court = str_replace('<br />', ' ', $voir['comment']);