我要整理项目符号实体,但也要修剪8。为什么?

时间:2018-09-25 20:29:27

标签: php

查看此代码。

$bt = "abc8 • ";
echo $bt . "<P>";
$bt = rtrim($bt," &#8226; ");
echo $bt . "<P>";

$bt = "abc7 &#8226; ";
echo $bt . "<P>";
$bt = rtrim($bt," &#8226; ");
echo $bt . "<P>";

在运行PHP7.2的服务器上,此操作返回

  

abc8•

     

abc

     

abc7•

     

abc7

为什么第一对中会掉掉“ 8”?

如果我在代码中使用实际的项目符号,而不是8226实体,那么它将正常工作。

1 个答案:

答案 0 :(得分:3)

您误解了rtrim()的目的。来自the documentation

  

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

正则表达式或简单的str_replace()就是您想要的。

$bt = str_replace(" &#8226; ", "", $bt);

$bt = preg_replace("/\s*&#8226;\s*$/", "", $bt);