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

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

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

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

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

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

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

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

приветствие peter

Solutions Collecting From Web of "Удалить из 's конец строки"

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

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

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

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

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

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

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

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

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

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

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

Вы можете попробовать функцию strip_tags:

http://php.net/manual/en/function.strip-tags.php