Le résultat de this code:Pourquoi trim() affecte-t-il les autres caractères?
echo trim('سلام؟', '؟');
est-�لام
.
Pourquoi? Je ne sais même pas ce que �
est supposé être. D'où cela vient-il?
Le résultat de this code:Pourquoi trim() affecte-t-il les autres caractères?
echo trim('سلام؟', '؟');
est-�لام
.
Pourquoi? Je ne sais même pas ce que �
est supposé être. D'où cela vient-il?
Je pense que cela parce qu'il est langue de droite toleft-, vous pouvez utiliser rtrim()
phpFiddle - Cliquez sur "Exécuter F9" pour exécuter
echo rtrim('سلام؟', '؟');
Oui, 'rtrim()' fonctionne également dans ce cas. Mais pas toujours https://3v4l.org/12vXl –
nous n'avons pas de point d'interrogation avant le mot dans le langage rtl, donc '? سلام' n'est pas un" valide "de toute façon –
ha ha ha ... vous avez raison. mais ce serait beaucoup mieux si je pouvais le vérifier aussi. –
Vous pouvez utiliser rtrim()
.
Ceci supprimera l'espace blanc de l'extrémité de la chaîne.
echo rtrim('سلام؟', '؟');
Et votre problème résolu ..
Votre chaîne caractère est arabe, qui est dans l'ordre inverse. Donc vous devez utiliser rtrim().
rtrim
est de remplacer du côté droit de la chaîne et c'est OK pour l'exigence OP. Mais je pense que str_replace()
est plus approprié. Trim peut être fait par elle, également utile pour remplacer de n'importe quelle position de chaîne. Un exemple:
$search = ['؟', ' ',]; // Add more elements if required
$str = 'سلام؟';
$output = str_replace($search, '', $str);
echo $output;
sortie: [? Garniture Multibyte en PHP]
سلام
double possible de (https://stackoverflow.com/questions/10066647/multibyte-trim-in-php – Nadav
[couper la chaîne arabe] (https://stackoverflow.com/q/32680409/6521116) –