Функция PHP rtrim обрезать лишний символ? Зачем?

Как rtrim Работа? У меня есть строка «4dbb3dca&Msgstr «Я не уверен, как формируется моя строка.
Я хочу позвонить rtrim('4dbb3dca&', '&')

—редактировать:& возможно $amp; специальный выпуск персонажа

Но после того, как моя строка 4dbb3dc,

Я ожидаю, что это будет 4dbb3dca,

Есть ли обходной путь? Я использовал &, но тогда rtrim ничего не делает и возвращается начальная строка. Можно ли использовать rtrim в моей ситуации? Зависит ли это от версии php?

— редактировать —

после некоторых исследований я понял, что хочу:
Я хочу удалить & с помощью & в rtrim() функция. Это возможно?

-1

Решение

Q1. Можно ли использовать rtrim в моей ситуации?
да, можно использовать rtrim() в вашей ситуации.

Q2. Зависит ли это от версии php?
нет

Вам просто нужно использовать echo rtrim('4dbb3dca&', '&'); не & потому что 2-й параметр RTRIM работает как ниже

Вы также можете указать персонажи Вы хотите раздеть, с помощью
параметр character_mask. Просто перечислите все персонажи что ты
хочу быть раздетым

DEMO: https://3v4l.org/anFIR

Если вы воспользуетесь приведенным ниже примером, вы получите тот же результат, потому что он попытается удалить все заданные символы из правой части заданной строки. Для экс-

echo rtrim('4dbb3dca&;pm', '&');` // will also return 4dbb3dc
4

Другие решения

Вторая строка, которую вы указываете в rtim() содержит все дополнительные символы, которые вы хотите обрезать. Таким образом, символы обрезаются "&" а также "a" (оба действительно включены во второй параметр вашего rtrim() вызов функции, "&amp").

Чтобы получить желаемый результат, вы должны вызвать rtrim() сюда:

rtrim('4dbb3dca&', '&')
1

Похоже, вы пытаетесь удалить амперсанд из конца строки, возможно, в закодированном виде. rtrim не дает вам достаточно контроля, как вы видели, но вы можете сделать это с preg_replace,

echo preg_replace('/&(amp;)?$/', '', $string);

Шаблон будет соответствовать амперсанду в конце строки, за которым может следовать amp ;.

1

Способ rtrim работает удалить последние символы на втором аргументе.

PHP разделил строку на символы и проверил, есть ли у вас символы в конце строки.

если у вас есть два символа из списка символов rtrim удалит оба

Например :

;&apm это будет такой же результат, как &

если вы хотите удалить единственный символ амперсанда в конце строки
используйте этот код: rtrim('4dbb3dca&','&');

Чтобы понять больше, вы можете прочитать об этом на php.net
http://php.net/manual/en/function.rtrim.php

0