我需要从循环短语的开头和结尾删除空格
所有单词都来自循环,看起来像这样:"大家好,#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 "
答案 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