从字符串末尾删除特定字符串

2022-03-23 00:00:00 regex php preg-replace

我需要从字符串的末尾删除特定的字符串。我可以使用循环完成此操作,但我认为使用正则表达式应该可以做到这一点。

示例:删除输入字符串末尾的所有<;br>;、&;nbsp;和空格。

"Hello world<;br>;<;br>;&;nbsp;&;nbsp;"

应变为

"你好世界"。

我尝试了

的各种排列
$input = preg_replace('/(<br>| |&nbsp;)*$/', '', $input);

但最终我的正则表达式知识失败了。我如何才能做到这一点?


解决方案

您尝试过的正则表达式工作正常。将Content-Type标头设置为plain可能有助于调试:

$string = "Hello world<br> <br>&nbsp; &nbsp; ";
$input = preg_replace('/(<br>| |&nbsp;)*$/', '', $string);
header('Content-Type: text/plain');
var_dump($input);

输出:

string(11) "Hello world"

3v4l demo.

相关文章