PHP SQL
PHP SQL .ru
  Главная  Уроки  PHP  MySQL  jQuery  RegEx  CSS  Книги  Форум  
 Функции


  На главную

  Назад  Вперед

  Печать

Удаление лишних пробелов

Лишние пробелы (или пробельные символы вроде табуляции - прим. переводчика) - постоянная проблема, возникающая при работе с данными формы. Функция trim() позволяет программисту удалить любые лишние пробелы до и после строки. Например, строка " Wicked Cool РНР " превратится в строку "Wicked Cool РНР". Это настолько удобно, что вы можете использовать эту функцию для каждой порции данных, полученных от пользователя (кроме, разумеется, массивов):

$user_input = trim($user_input);
Но иногда встречаются лишние пробелы внутри строки, например, когда кто-то копировал информацию из электронного письма. В этом случае вам нужно заменить пробелы и другие пробельные символы одним пробелом, используя функцию preg_replace (). Данная функция использует регулярные выражения (для поиска пробельных символов) - мощный механизм, который вы еще не раз встретите в этой книге.
<?php
function remove_whitespace($string)   { 
$string = preg_replace (‘/s+/’, ‘ ‘,  $string) ; 
$string = trim($string) ; 
return $string;
}
?>
Этот сценарий может использоваться не только для проверки данных форм. Он также может использоваться для проверки данных, полученных от других внешних источников.

 
Предыдущая   На главную   Следующая          

Константин   15.04.2011 в 21:13
спасибо огромное

  02.06.2011 в 14:03

Kumar   27.08.2011 в 23:35
‘/s+/’ - это неправильно.
Верно будет так: ‘/\\s+/’

Kumar   28.08.2011 в 00:11
Сори, в предыдущем примере случайно поставил 2 обратных слеша. Надо - один. ‘/\\s+/’

А лучше следующим образом. Я несколько модифицировал функцию под свои цели и вот что получилось:

function removeWhitespace($string)
{
$string = str_replace(\" \", \"\", $string);
$string = preg_replace(\

8977875ij   15.01.2012 в 11:39

Гость   03.03.2012 в 11:26
я тоже запарился, увидел то регулярку и скопировал сразу. А смотрю не работает, только буквы s удаляет )). Сразу понял в чем причина.

Гость   12.09.2012 в 21:04
Читайте внимательно что делает эта регулярка \"В этом случае вам нужно заменить пробелы и другие пробельные символы одним пробелом\", тоесть строку:
\"Один Два Три\",
она преобразует в строку:
\"Один Два Три\".
Ато что выше пишут то совсем удаляет пробелы.

Гость   12.09.2012 в 21:06
Не пропустило чё то пробелы, вот:

Преобразует в:

bigvax   06.10.2012 в 08:21
Лажает на мультибайтовых строках, в частности на utf-8...

возможно, кошернее будет так:
function remove_whitespace($str) {
return trim(preg_replace(\

Tamerlan   19.06.2014 в 12:41
//рабочий пример

function remove_whitespace($string){
$string = trim($string);
$string = preg_replace ("/s+/",

Ваш комментарий:

'

Реклама на сайте | Обмен ссылками | Ссылки | Контакты
Добавить статью | Добавить исходник
2010-2014 © phpsql.ru