php中的Rtrim删除最后一个<;br>;

php中的Rtrim删除最后一个<;br>;,php,Php,我有一个很奇怪的问题。我的脚本剪切了最后一个,我不知道为什么 <?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

我有一个很奇怪的问题。我的脚本剪切了最后一个
,我不知道为什么

<?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)

第二个参数不是分隔符,而是字符掩码。因此,它肯定会单独修剪任何字符串

还可以通过character_mask参数指定要去除的字符。只需列出所有要删除的字符。具有可以指定字符的范围

如果只有一个

,则必须使用
str\u replace()
将其删除:

str_replace("<br>", "", $string);
stru替换(“
”,“”,$string);
或者您需要使用:

preg\u replace('/
$/','',$string);
rtrim
不将其第二个参数视为字符串,而是将其视为字符列表。因此,它将从字符串末尾删除所有的
实例。Ops的可能重复我一直以错误的方式使用Rtrim!!:(@GiuseppeLodiRizzini是的,你做了。我已经更正了。请随意使用我的代码。不,我不仅有一个
…我还可以有其他内部字符串。我的目标是只删除字符串末尾的
(如果有)@GiuseppeLodiRizzini使用RegExp版本,然后…只删除末尾的一个。
str_replace("<br>", "", $string);
preg_replace('/<br>$/', "", $string);