PHP rtrim函数修剪多余的字符?为什么?

时间:2019-01-09 15:56:36

标签: php character-trimming

this.productFormGroup = this.formBuilder.group({ product:'' }); 如何工作?我有一个字符串“ 4dbb3dca&”。我不确定我的弦是如何固定的。 我想致电rtrim

-编辑:rtrim('4dbb3dca&', '&')可能是&特殊字符问题

但是我的字符串是$amp;之后。

我希望它是4dbb3dc

有什么解决方法吗?我尝试使用4dbb3dca,但是rtrim不执行任何操作,并且返回了初始字符串。在我的情况下可以使用&吗?是否取决于php版本?

---编辑---

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

4 个答案:

答案 0 :(得分:5)

第一季度。在我的情况下可以使用rtrim吗? ,可以根据您的情况使用rtrim()

第二季度。是否取决于php版本?

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

  

您还可以通过以下方式指定要删除的个字符   character_mask参数。只需列出您所有的字符   想被剥夺

演示: https://3v4l.org/anFIR

如果使用以下示例,您将得到相同的结果,因为它将尝试从给定字符串的右侧删除所有给定字符。对于Ex-

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

答案 1 :(得分:1)

您在rtim()中指定的第二个字符串包含要修剪的所有其他字符。因此,要修剪的字符为"&""a"(实际上都包含在rtrim()函数调用的第二个参数"&amp"中)。

要获得所需的结果,应该以这种方式调用rtrim()

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

答案 2 :(得分:1)

您似乎正在尝试从字符串末尾删除“&”号(可能采用编码形式)。如您所见,rtrim没有给您足够的控制权来执行此操作,但是您可以使用preg_replace来做到这一点。

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

该模式将在字符串的末尾匹配一个&符号,并可选地在其后加上amp;。

答案 3 :(得分:0)

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

PHP已将字符串拆分为字符,并检查字符串的最后是否包含字符。

如果您从字符列表中选择了两个字符,rtrim将同时删除这两个字符

例如:

;&apm的结果与&相同

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

要了解更多信息,请访问php.net http://php.net/manual/en/function.rtrim.php