Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP rtrim函数修剪额外字符?为什么?_Php_Character Trimming - Fatal编程技术网

PHP rtrim函数修剪额外字符?为什么?

PHP rtrim函数修剪额外字符?为什么?,php,character-trimming,Php,Character Trimming,rtrim是如何工作的?我有一个字符串“4db3dca&”。我不知道我的绳子是怎么组合的。 我想调用rtrim('4db3dca&','&;') --编辑:&可能是$amp特殊字符问题 但是在我的字符串之后是4db3dc 我希望它是4db3dca 有什么解决办法吗?我尝试使用&,但rtrim什么也不做,返回初始字符串。在我的情况下是否可以使用rtrim?它是否依赖于php版本 ---编辑--- 经过一些研究,我意识到我想要: 我想使用&;删除&在rtrim()函数中。这可能吗?在rt

rtrim
是如何工作的?我有一个字符串“4db3dca&”。我不知道我的绳子是怎么组合的。 我想调用
rtrim('4db3dca&','&;')

--编辑:
&
可能是
$amp特殊字符问题

但是在我的字符串之后是
4db3dc

我希望它是
4db3dca

有什么解决办法吗?我尝试使用
&
,但rtrim什么也不做,返回初始字符串。在我的情况下是否可以使用
rtrim
?它是否依赖于php版本

---编辑---

经过一些研究,我意识到我想要:
我想使用
&;删除
&
rtrim()函数中。这可能吗?

rtim()
中指定的第二个字符串包含所有要修剪的额外字符。因此,被修剪的字符是
“&”
“a”
(它们实际上都包含在
rtrim()
函数调用的第二个参数中,
“&”

要获得所需的结果,应通过以下方式调用
rtrim()

rtrim('4dbb3dca&', '&')

Q1。在我的情况下可以使用rtrim吗? ,在您的情况下可以使用
rtrim()

Q2。它是否依赖于php版本?

您只需要使用echo rtrim('4db3dca&','&')而不是
&因为的第二个参数的工作方式如下-

您还可以通过以下方式指定要剥离的字符 字符掩码参数。只需列出您需要的所有字符 想脱光衣服吗

演示:

如果使用下面的示例,则会得到相同的结果,因为它将尝试从给定字符串的右侧删除所有给定字符。前-

echo rtrim('4dbb3dca&;pm', '&');` // will also return 4dbb3dc

看起来您正试图从字符串末尾删除一个可能以编码形式存在的符号<正如您所看到的,code>rtrim
并没有为您提供足够的控制,但是您可以使用
preg\u replace
来完成

echo preg_replace('/&(amp;)?$/', '', $string);

该模式将在字符串的末尾匹配一个符号和,可以选择后跟amp

rtrim的工作方式删除第二个参数的最后字符

PHP已将字符串拆分为多个字符,并检查是否在字符串的最后有字符

如果字符列表中有两个字符,
rtrim
将同时删除这两个字符

例如:

&apm
结果与
相同

如果要删除字符串末尾的唯一“与”符号 使用此代码:
rtrim('4db3dca&','&')

要了解更多信息,请访问php.net

只要
就行了。你到底试了什么?你已经看过说明书了吗?rtrim的第二个参数是字符掩码。是否需要专门删除
&,或者只是其中的任何一个字符?我想使用
&;删除
&
rtrim()
中。