删除字符串

时间:2018-02-27 06:16:21

标签: php

我有一个字符串:item1|item2|item 3|yyyy-mm-dd

|是项目的分隔符。日期附加到item1 | item2 | item3 |,您可以在item3之后添加更多项目,因此可以有无限数量的项目。我希望能够删除最后一个分隔符。有没有办法做到这一点?我知道我可以用rtrim()修剪结尾,但我不知道如果它不确定而不是在字符串的末尾,该怎么做。这就是我在末尾使用带分隔符的字符串:

$exp = explode("|", $row['item'],-1);
$li = rtrim($row['item'], '|');
if(is_null($exp[1])) {
    echo $li;
} 
else {
    echo str_replace("|", ", ", $li);
}

我在这里做的是检查item是否有多个输入。如果只有一个,它只是删除最后一个分隔符。否则,它会删除最后一个分隔符,但也会用逗号|替换管道,。我希望输出看起来像这样:

item1, item2, item3 yyyy-mm-dd

这可能吗?谢谢

1 个答案:

答案 0 :(得分:1)

putString for string putInt for Int .... 使用array_pop()弹出最终项目然后implode()|一起弹出数组,最后追加最后一项(array_pop的返回值) )最后。

,

https://3v4l.org/ShFJX

<强>结果:

<?php $str = 'item1|item2|item 3|yyyy-mm-dd'; $array = explode('|', $str); $last = array_pop($array); echo implode (', ', $array).' '.$last;

如果你有一个字符串:item1, item2, item 3 yyyy-mm-dd,你可以使用array_filter

item1|item2|item 3||item 4|||yyyy-mm-dd

https://3v4l.org/W0kPn

<强>结果:

<?php
$str = 'item1|item2|item 3||item 4|||yyyy-mm-dd';

$array = explode('|', $str);

$array = array_filter($array);

$last = array_pop($array);

echo implode (', ', $array).' '.$last;