Подтвердить что ты не робот

Удалить из конца строки

поскольку заголовок говорит, что у меня есть строка вроде этого:

$string = "Hello World<br>hello world<br><br>";

теперь я хочу избавиться от <br> в конце этой строки, чтобы она выглядела так:

$string = "Hello World<br>hello world";

Я пробовал это:

preg_replace('/^(<br>)*/', "", $string);

но это не сработало. возможно, кто-то знает правильное регулярное выражение.

привет питер

4b9b3361

Ответ 1

Вы близко, вы использовали ^ в начале регулярного выражения, что означает "соответствие началу строки". Вы хотите $в конце, что означает: "Сопоставьте конец строки".

preg_replace('/(<br>)+$/', '', $string);

Ответ 2

Просто для тех, кто приходит сюда, как я, ища способ удалить все теги разрыва с конца строки, включая:

<br> <br/> <br /> <br              /> <br      >

Я использовал:

$string = preg_replace('#(( ){0,}<br( {0,})(/{0,1})>){1,}$#i', '', $string);

. Это также разделит их, если у них есть белое пространство между ними. Вам нужно будет настроить любой \n\r и т.д., Если это вам нужно.

Ответ 3

Регулярные выражения мощные, но я думаю, что этот случай более прост, rtrim должен работать

$string = rtrim($string,'<br>');

Ответ 4

Попробуйте preg_replace('/(<br>)+$/', "", $string);

EDIT: Ой, теперь это должно работать.