PHP:修剪以摆脱空跨度

时间:2014-12-09 16:43:09

标签: php trim

参考this评论。

$values = array("foo","bar");

var_dump($value)导致:

array (size=2)
  0 => string 'foo' (length=3)
  1 => string 'bar' (length=3)

内爆:

$value = "<span>".implode('</span>,<span>', $values)."</span>";

现在var_dump($value)会产生:

string '<span>foo</span>,<span>bar</span>' (length=33)

微调:

$value = trim($value,"<span></span>");

现在var_dump($value)会产生:

string 'foo</span>,<span>bar' (length=20)

但它仍然应该导致:

string '<span>foo</span>,<span>bar</span>' (length=33)

1 个答案:

答案 0 :(得分:2)

trim函数适用于字符级别,而不是文本或HTML标记级别。

执行trim($value, "<span></span>")时,您要求PHP删除文本<span></span>中显示的所有前导和尾随字符。这与执行trim($value, "/<>anps")

的结果相同

您应该使用str_replace代替。

或者,使用array_filter删除数组中的空白条目 implode之前。
例如:

$str = implode("</span>,<span>", array_filter($values, 'strlen'));