2014-11-15 2 views
-1

мне нужно удалить пробельные с самого начала и конца петли фразыКак удалить пробелы из начала и конца петли фразы

Все слова исходят из петли, и выглядеть следующим образом: «Привет всем людям»

Я использую код -

$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

это не массив. вы можете найти то, что вам нужно с trim() – xeo

+0

Нет, теги - просто пример. –

+0

Используйте [trim()] (http://php.net/manual/en/function.trim.php) вместо str_replace – Gunaseelan

ответ

0

Попробуйте Regx как следующее:

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

Я держу старый ответ для справки. Но если вы просто хотите удалить ведущие и конечные пробелы; использовать trim()

Update:

Если вы хотите обрезать каждый и каждый элемент массива; вы можете сопоставить функцию обрезки. Затем вы также можете вставить массив в строку.

<?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); 
?> 

Update 2:

Хорошо я получил его; Это не массив. Это петля. Каждый раз, когда $ item-> 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); 
+0

Все слова поступают из массива '$ item-> getLabel()' –

+0

Что возвращает $ item-> getLabel()? Является ли это массивом вроде: «Hello», «all», «people» или набор строк типа «Hello all люди " –

+0

' var_dump ($ item-> getLabel()); 'возвращает' string (7) «Hello» string (8) «all» string (5) «People» ' –

0

Попробуйте это:

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

// Output: Hello all people 

See demo

+0

Ничего не возвращает. –

+0

Вы правы, он ничего не возвращает, это эхо «Привет всем людям». [** См. Демонстрацию **] (http://codepad.org/OKjstHbC). До вас, чтобы реализовать его в вашей системе. –

+0

'$ words = array ($ item-> getLabel()); \t echo trim (preg_replace ("/ \ s + /", "", implode ($ words, ""))); 'возвращает" Helloallpeople " –

Смежные вопросы