Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Удаление всех пробелов на PHP (как удалить все пробелы)

 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP
 
Автор Сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вт Мар 02, 2010 5:07 pm    Заголовок сообщения: Удаление всех пробелов на PHP (как удалить все пробелы)
Ответить с цитатой

Появилась необходимость удалить все пробелы в числовых полях. Например, когда цену вводят не 10000, а 10 000.

Вот пример кода:

$price=str_replace(" ", "", $price); //Удаляем обычные пробелы
$price=str_replace(chr(160), "", $price); //Удаляем неразрывные пробелы

Аналогично можно удалять и "-" в номерах телефонов, хотя для этого лучше использовать regexp, потому что введенное может быть даже совсем не похоже на номер телефона.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
ubuntol

Участник тусовки


Зарегистрирован: 15.02.2010
Сообщения: 137

СообщениеДобавлено: Вт Мар 02, 2010 9:54 pm    Заголовок сообщения: Re: Удаление всех пробелов на PHP (как удалить все пробелы)
Ответить с цитатой

den писал(а):
Появилась необходимость удалить все пробелы в числовых полях. Например, когда цену вводят не 10000, а 10 000.

Вот пример кода:

$price=str_replace(" ", "", $price); //Удаляем обычные пробелы
$price=str_replace(chr(160), "", $price); //Удаляем неразрывные пробелы

Аналогично можно удалять и "-" в номерах телефонов, хотя для этого лучше использовать regexp, потому что введенное может быть даже совсем не похоже на номер телефона.

что-то никто не комментирует... давай я поддержу -
обобщаем задачу Дена, не только пробелы и знаки - а удаляем вообще всякие знаки из строки кроме цифирь... на РНР Ден начал решение, вот решение общей задачи на Питоне
------------------------------------
#!/usr/bin/python
import re
s="po io8pi98;5m1 26---00j2*j7!"
z=re.findall(r"[0-9]", s)
zz=map(lambda x:int(x,10),z)
result=""
for element in zz:
result=result + `element`
print result
-------------------------------------
в ответе будет 89851260027

просим продолжить - дать решение на Си, ассемблере (gas, masm) и в машинных кодах... Smile
- код получился с ошибкой - не отображается отступ в предпоследней строке..., как заделать отступ в форуме???


Последний раз редактировалось: ubuntol (Ср Мар 03, 2010 9:41 pm), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Madfisht3

Участник тусовки


Зарегистрирован: 12.02.2010
Сообщения: 101
Откуда: Russia

СообщениеДобавлено: Ср Мар 03, 2010 8:16 am    Заголовок сообщения:
Ответить с цитатой

Цитата:
$price=str_replace(" ", "", $price);

примерно по такому же принципу в молодости я написал скрипт транслиптации Smile
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ubuntol

Участник тусовки


Зарегистрирован: 15.02.2010
Сообщения: 137

СообщениеДобавлено: Ср Мар 03, 2010 4:12 pm    Заголовок сообщения:
Ответить с цитатой

Madfisht3 писал(а):
Цитата:
$price=str_replace(" ", "", $price);

примерно по такому же принципу в молодости я написал скрипт транслиптации Smile

о.., а что это "транслиптация"?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Madfisht3

Участник тусовки


Зарегистрирован: 12.02.2010
Сообщения: 101
Откуда: Russia

СообщениеДобавлено: Ср Мар 03, 2010 7:56 pm    Заголовок сообщения:
Ответить с цитатой

Транслитация это Smile
к примеру из слова "собака" нужно сделать "sobaka", этот скрипт это и делал.
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ubuntol

Участник тусовки


Зарегистрирован: 15.02.2010
Сообщения: 137

СообщениеДобавлено: Ср Мар 03, 2010 9:37 pm    Заголовок сообщения:
Ответить с цитатой

Madfisht3 писал(а):
Транслитация это Smile
к примеру из слова "собака" нужно сделать "sobaka", этот скрипт это и делал.

понял, по транслитации - это, вообще, перекодировка (я про tr вспомнил как раз) и не только собак -
есть в Юниксе tr - стандартная команда оболочки
$ tr 'A' s < file
она здесь в файле file заменяет все буквы А на букву s
вот так она заменяет все большие буквы на маленькие
$ cat file | tr '[A-Z]' '[a-z]' > filenew
cat - открывает файл, | - передает результат следующей команде, то есть tr, [A-Z] - это краткая запись 26 букв алфавита (регулярное выражение) , > - указывает, что результат надо вывести в новый файл (или она накроет имеющийся с таким названием) , значит ты переписал утилиту UNIX-a, да, круто было...
Впрочем, в Питоне средства со строками дают возможность быстро скрипт написать... , но нам надо сперва на си Денин скрипт сделать!


Последний раз редактировалось: ubuntol (Ср Мар 03, 2010 10:06 pm), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Madfisht3

Участник тусовки


Зарегистрирован: 12.02.2010
Сообщения: 101
Откуда: Russia

СообщениеДобавлено: Ср Мар 03, 2010 9:39 pm    Заголовок сообщения:
Ответить с цитатой

Цитата:
есть в Юниксе tr - стандартная команда оболочки
$ tr 'A' s < file
она здесь в файле file заменяет все буквы А на букву s
вот так она заменяет все большие буквы на маленькие
$ cat file | tr '[A-Z]' '[a-z]' > filenew
cat - открывает файл, | - передает результат следующей команде, то есть tr, [A-Z] - это краткая запись 26 букв алфавита (регулярное выражение) , > - указывает что результат надо вывести в новый файл (или она накроет имеющийся с таким названием) , значит ты переписал утилиту UNIX-a, да, круто было...

Скрипт работал в windows.
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ubuntol

Участник тусовки


Зарегистрирован: 15.02.2010
Сообщения: 137

СообщениеДобавлено: Ср Мар 03, 2010 9:45 pm    Заголовок сообщения:
Ответить с цитатой

[quote="Madfisht3"]
Цитата:
...
Скрипт работал в windows.

по моему в Windows в командной строке есть аналог tr! ща посмотрю... там же тоже оболочка, это ты в ней писал наверное...

не сразу не нашел..., может позже или кто поможет


Последний раз редактировалось: ubuntol (Ср Мар 03, 2010 9:53 pm), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Madfisht3

Участник тусовки


Зарегистрирован: 12.02.2010
Сообщения: 101
Откуда: Russia

СообщениеДобавлено: Ср Мар 03, 2010 9:47 pm    Заголовок сообщения:
Ответить с цитатой

Цитата:
ща посмотрю... там же тоже оболочка, это ты в ней писал наверное...

На PHP я писал. И в джентельменском наборе запускал Very Happy Куда нам джентельменам без своих скриптов Smile
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ubuntol

Участник тусовки


Зарегистрирован: 15.02.2010
Сообщения: 137

СообщениеДобавлено: Ср Мар 03, 2010 9:57 pm    Заголовок сообщения:
Ответить с цитатой

Madfisht3 писал(а):
Цитата:
ща посмотрю... там же тоже оболочка, это ты в ней писал наверное...

На PHP я писал. И в джентельменском наборе запускал Very Happy Куда нам джентельменам без своих скриптов Smile

я избрал питон - он везде силен для сисадмина, а PHP все-таки заточен под Веб...
ну если на PHP, то что в винде, что в юниксе - разницы же нет...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP Часовой пояс: GMT
Страница 1 из 1
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис