Как rtrim
Работа? У меня есть строка «4dbb3dca&Msgstr «Я не уверен, как формируется моя строка.
Я хочу позвонить rtrim('4dbb3dca&', '&')
—редактировать:&
возможно $amp;
специальный выпуск персонажа
Но после того, как моя строка 4dbb3dc
,
Я ожидаю, что это будет 4dbb3dca
,
Есть ли обходной путь? Я использовал &
, но тогда rtrim ничего не делает и возвращается начальная строка. Можно ли использовать rtrim
в моей ситуации? Зависит ли это от версии php?
— редактировать —
после некоторых исследований я понял, что хочу:
Я хочу удалить &
с помощью &
в rtrim()
функция. Это возможно?
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
Вторая строка, которую вы указываете в rtim()
содержит все дополнительные символы, которые вы хотите обрезать. Таким образом, символы обрезаются "&"
а также "a"
(оба действительно включены во второй параметр вашего rtrim()
вызов функции, "&"
).
Чтобы получить желаемый результат, вы должны вызвать rtrim()
сюда:
rtrim('4dbb3dca&', '&')
Похоже, вы пытаетесь удалить амперсанд из конца строки, возможно, в закодированном виде. rtrim
не дает вам достаточно контроля, как вы видели, но вы можете сделать это с preg_replace
,
echo preg_replace('/&(amp;)?$/', '', $string);
Шаблон будет соответствовать амперсанду в конце строки, за которым может следовать amp ;.
Способ rtrim
работает удалить последние символы на втором аргументе.
PHP разделил строку на символы и проверил, есть ли у вас символы в конце строки.
если у вас есть два символа из списка символов rtrim
удалит оба
Например :
;&apm
это будет такой же результат, как &
если вы хотите удалить единственный символ амперсанда в конце строки
используйте этот код: rtrim('4dbb3dca&','&');
Чтобы понять больше, вы можете прочитать об этом на php.net
http://php.net/manual/en/function.rtrim.php