如何从循环短语的开头和结尾删除空格

时间:2014-11-15 05:54:17

标签: php

我需要从循环短语的开头和结尾删除空格

所有单词都来自循环,看起来像这样:"大家好,#34;

我正在使用代码 -

$appliedFilters = Mage::getSingleton('catalog/layer')->getState()->getFilters();
foreach ($appliedFilters as $item) {
        if ($item->getFilter()->getRequestVar() == 'b_car' || 'c_model' || 'd_year') {
            $n_str = string.replace("\"", "", $item->getLabel()));
                   echo $n_str;
                    }
                    }

此代码返回" Helloallpeople"

但我需要"大家好"

请帮忙!

已更新

var_dump($item->getLabel()); returns string(7) "Hello " string(8) "all " string(5) "People "

2 个答案:

答案 0 :(得分:0)

尝试Regx,如下所示:

$returnValue = preg_replace("/>\s+(.*)\s+</", '>$1<', '<a> Hello all people <a/>');

我保留旧答案以供参考。 但是如果你只想删除前导和尾随空格;使用trim()

<强>更新

如果要修剪数组的每个元素;你可以将修剪功能映射到它。 然后你也可以将数组内爆到一个字符串。

<?php
$str = array(" Hello all  ", " Hello all people ", "  all people ", " Hello people ");
$n_str = array_map("trim",$str);
var_dump($n_str);
echo implode(" ",$n_str);
?>

更新2:

好的我明白了它不是一个数组。这是一个循环。 每次$ item-&gt; getLabel()只返回一个字符串。它不是一个数组。 以下应该可以帮到你。

$appliedFilters = Mage::getSingleton('catalog/layer')->getState()->getFilters();
$result = "";
foreach ($appliedFilters as $item) {
        if ($item->getFilter()->getRequestVar() == 'b_car' || 'c_model' || 'd_year') {
            $result .= " ".trim($item->getLabel());
        }
}
echo trim($result);

答案 1 :(得分:0)

试试这个:

$words = $item->getLabel(); //array(" Hello", "all ", "people "); 
echo trim(preg_replace("/\s+/", " ", implode($words, " ")));

// Output: Hello all people

See demo