Тогда вам лучше юзать explode и trim (ИМХО) Регулярки дольше обрабатываются..Автор оригинала: LDZ
У меня в базу идут ключевые слова.
Мне необходимо чтобы конструкция вроде "Собака, Машина моего дяди, Кошка" или что-то подобное
разбивалось не на
1. Собака
2. (пробел)Машина моего дяди
3. (пробел)Кошка
А на это:
1. Собака
2. Машина моего дяди
3. Кошка
это самое медленное место в скрипте будет, да..Регулярки дольше обрабатываются
тогда уж тебе нужен ltrim и rtrimАвтор оригинала: LDZ
про trim спасибо. Не знал
???Автор оригинала: Beavis
тогда уж тебе нужен ltrim и rtrim
$pieces = explode(",", "Собака, Машина моего дяди, Кошка");
foreach($pieces as &$value) {$value = trim($value);}
foreach($pieces as $k=>$v) { $pieces[$k] = trim($pieces[$k]);}
Автор оригинала: phprus
Для решения такой задачи использовать &$value не очень хороше, так как после выполнения цикла переменная $value будет показывать на последний элемент массива и таким образом массив можно будет легко повредить.
Лучше цикл переписать так:
PHP:foreach($pieces as $k=>$v) { $pieces[$k] = trim($pieces[$k]);}
echo "v = $v";
[m]array_map[/m] можно:А еще лучше использовать встроенную функцию [m]array_map[/m]
$pieces = array_map("trim", $pieces);
$v будет содержать значение, а не ссылку.Приехали... А типа $v, что не будет ни чего содержать?
Добавьете строку:
echo "v = $v";
к вашему коду и посмотрите...