У меня очень странная проблема. мой скрипт вырезал последний >, и я не знаю почему.
<?php
$string = "<a href='#'>Test</a>" . "<br>";
$string = rtrim($string, "<br>");
var_dump($string);
// OUTPUT
string '<a href='#'>Test</a' (length=19)
// INSTEAD
string '<a href='#'>Test</a>' (length=20)
Мне нужно удалить ПОСЛЕДНИЙ <br> в строке (если он есть), и только если это хвост строки.
Пример:
$string = "<a>CC</a><br><a>CC</a>" //is ok
$string = "<a>CC</a><br><a>CC</a><br>" // --> <a>CC</a><br><a>CC</a>
Возможный дубликат Удалите часть строки, но только если она находится в конце строки
Упс, тогда я всегда плохо использовал Rtrim !! :(
@GiuseppeLodiRizzini Ага, да. Я поправил. Не стесняйтесь использовать мой код.






Второй параметр - это не разделитель, а маска персонажа. Таким образом, он определенно обрежет любую струну по отдельности.
You can also specify the characters you want to strip, by means of the character_mask parameter. Simply list all characters that you want to be stripped. With .. you can specify a range of characters.
Вы должны удалить его с помощью str_replace(), если есть только один <br>:
str_replace("<br>", "", $string);
Или вам нужно использовать RegExp:
preg_replace('/<br>$/', "", $string);
Нет, у меня не только одна <br> ... у меня может быть другая внутренняя строка. Моя цель - удалить только <br> в конце строки (если есть)
@GiuseppeLodiRizzini Тогда используйте версию RegExp ... Это удаляет только одну в конце.
rtrimобрабатывает свой второй аргумент не как строку, а как список символов. Таким образом, он удалит все экземпляры<,b,rи>из конца строки.