|
|
|
| У меня такой вопрос. Можно ли упростить такую нагроможденную комбинацию для удаления лишних пробелов на одну универсальную команду, которая удаляла бы лишние пробелы во всех приходящих методом POST полях?
$ds1=trim($ds1);
$de1=trim($de1);
$post1=trim($post1);
$ds2=trim($ds2);
$de2=trim($de2);
$post2=trim($post2);
$ds3=trim($ds3);
$de3=trim($de3);
$post3=trim($post3);
$ds4=trim($ds4);
$de4=trim($de4);
$post4=trim($post4);
$ds5=trim($ds5);
$de5=trim($de5);
$post5=trim($post5);
$ds6=trim($ds6);
$de6=trim($de6);
$post6=trim($post6);
$ds7=trim($ds7);
$de7=trim($de7);
$post7=trim($post7);
$ds8=trim($ds8);
$de8=trim($de8);
$post8=trim($post8);
$ds9=trim($ds9);
$de9=trim($de9);
$post9=trim($post9);
$ds10=trim($ds10);
$de10=trim($de10);
$post10=trim($post10);
и т.д............................
|
| |
|
|
|
|
|
|
|
для: SS
(07.12.2006 в 16:52)
| | Можно. Но лучше расскажите откуда эти поля беруться, тогда вариантов будет сразу несколько. | |
|
|
|
|
автор: cheops (из кафе) (07.12.2006 в 17:09) |
|
|
для: SS
(07.12.2006 в 16:52)
| | Можно поступить следующим образом
<?php
foreach($_POST as $key => $value) $_POST[$key] = trim($value);
?>
|
| |
|
|
|
|
|
|
|
для: cheops (из кафе)
(07.12.2006 в 17:09)
| | Спасибо, работает.
И сразу второй вопрос. Аналогичная ситуация с упрощением замены двойных пробелов. Возможно ли сделать тоже одной строкой замену всех данных, поступающих методом POST?
$ds1=str_replace(" ", " ", $ds1);
$de1=str_replace(" ", " ", $de1);
$post1=str_replace(" ", " ", $post1);
$ds2=str_replace(" ", " ", $ds2);
$de2=str_replace(" ", " ", $de2);
$post2=str_replace(" ", " ", $post2);
$ds3=str_replace(" ", " ", $ds3);
$de3=str_replace(" ", " ", $de3);
$post3=str_replace(" ", " ", $post3);
$ds4=str_replace(" ", " ", $ds4);
$de4=str_replace(" ", " ", $de4);
$post4=str_replace(" ", " ", $post4);
и т.д. .....................................
|
| |
|
|
|
|
|
|
|
для: SS
(07.12.2006 в 18:42)
| | а так
foreach($_POST as $key => $value) $value=str_replace(" ", "", $value); | |
|
|
|
|
|
|
|
для: SS
(07.12.2006 в 18:42)
| |
<?php
foreach($_POST as $key => $index)
{
do
{
$_POST[$key] = str_replace(" ", " ", $_POST[$key]);
}
while(strpos($_POST[$key], " ") !== false);
}
?>
|
P.S. А зачем? trim() это делает. | |
|
|
|
|
|
|
|
для: Unkind
(07.12.2006 в 23:55)
| | >P.S. А зачем? trim() это делает.
и давно он такое делает? | |
|
|
|
|
|
|
|
для: Trianon
(08.12.2006 в 09:30)
| | и давно он такое делает?
С момента создания этой функции авторами PHP, думаю. :)) | |
|
|
|
|
|
|
|
для: Unkind
(08.12.2006 в 15:52)
| | Ок. Разжуем.
trim удаляет пробелы с головы и с хвоста.
str_replace(" ", " ", $_POST[$key]) в цикле понижает серии пробелов до однократных.
Есть разница, неправда ли? | |
|
|
|
|
|
|
|
для: Trianon
(08.12.2006 в 20:00)
| | Значит я ошибался :) Я думал и двойные тоже удаляет, помимо пробелов с "боков"... | |
|
|
|
|
|
|
|
для: Unkind
(07.12.2006 в 23:55)
| | Спасибо всем за помощь. Да, действительно, trim() удаляет все лишние пробелы во вводимом тексте, независимо от их количества (двойные, тройные и т.д.), проверил... | |
|
|
|