Удалить пробелы из $ contactname php - PullRequest
1 голос
/ 09 июля 2011

Я пытаюсь удалить пробелы из $ contactname. Прямо сейчас, если я посмотрю код ниже, я получу:

Первая Последняя

Если я заменим $ _SESSION ['name'] на 'first last', я получу:

firstlast

Есть идеи, почему это работает, только когда это статическое поле?

$contactname=$_SESSION['name'];
$contactname = preg_replace('/( *)/', '', $contactname);
echo $contactname."\n";

Обновлен код с той же проблемой:

$contactname=$_SESSION['name'];
$contactname = str_replace(' ', '', $contactname);
echo $contactname."\n";

Ответы [ 2 ]

1 голос
/ 09 июля 2011

Не используйте preg_replace для удаления пробелов. Использование:

str_replace(' ', '', $contactname);

Это быстрее.

0 голосов
/ 09 июля 2011

Ваше регулярное выражение должно использовать класс символов для пробела, \s:

$contactname = preg_replace('/\s+/', '', $contactname);

Чтобы заменить что-либо вроде пробела, которое может быть в $ _SESSION, или используйте str_replace, если это гарантированобыть только пробелами (потому что ему не нужен механизм регулярных выражений и он работает быстрее):

$contactname = str_replace(' ', '', $contactname);
...