2009-10-01 12 views
0

En PHP, la fonction de rognage comporte un paramètre permettant de rogner des caractères spécifiques (pratique pour les zéros en tête et autres). Je n'arrive pas à l'accepter pour accepter un caractère barre verticale (|). Quelqu'un sait comment faire fonctionner cela? J'ai essayé la valeur hexadécimale mais je n'ai pas eu de chance. Je suis sûr que c'est quelque chose de simple.Recadrage d'une barre verticale

Vive

Répondre

3

Il fonctionne pour moi:

var_dump(trim('|foo|', '|')); // string 'foo' (length=3) 

Peut-être que vous avez quelques espaces autour, ou en utilisant le mauvais Vous êtes en train de caractère pipe? ¦ vs |

+0

Je pensais que vous pourriez avoir été sur quelque chose avec le mauvais pipe pipe, mais en essayant ceci: echo trim (substr ($ réponse, strpos ($ réponse, 'AF') + 2), '# | |') ; entraîne toujours: Vous n'avez aucun frais à payer. –

+0

J'ai copié et collé votre chaîne mais ça a quand même marché. Pouvez-vous var_dump (substr ($ response, strpos ($ réponse, 'AF') + 2)); – Greg

+0

Le var_dump a donné: string (41) "#Vous n'avez aucun frais à payer. |", J'ai donc ajouté un caractère espace blanc sans chance: echo trim (substr ($ response, strpos ($ response, 'AF') + 2), '# | | \'); –

0

Works pour moi:

$str = "|test string"; 
echo trim($str, "|"); 

test string 

Pouvez-vous montrer une partie de votre code?

Peut-être que vous voulez supprimer un | au milieu d'une chaîne vous pouvez utiliser str_replace

str_replace("|", "", $str); 
0
echo trim('|text|', '|'); // returns text 

Le second a été ajouté en param PHP 4.1!

0

trim() supprime uniquement les caractères au début et à la fin d'une chaîne. Si vous souhaitez remplacer les caractères au milieu d'une chaîne, utilisez str_replace() ou preg_replace() si vous aimez les expressions régulières.

Questions connexes