2011-07-20 2 views
1

Я хочу удалить все пробелы, которые не находятся между двумя словами? Сценарий говорит, что все :) этоПроблема str_replace в php

$string = "    bah bah bah "; 
$string = str_replace("/w /w", "+", $string); 
// i want string to look like this: 
$string = "bah+bah+bah"; 

Идея заключается в том, что я хочу, чтобы избавиться от всех ненужных пространств (не только в начале и в конце)

+0

Вы используете это внутри URL? – armandomiani

+0

на это окно поиска – faq

+0

после того, как я удалю пробелы, которые я хочу взорвать (но это уже сделано) – faq

ответ

3

Вы можете не только обрезать пробелы и использовать urlencode() для преобразовать внутренние пространства в +? Если у вас есть другие символы, которые не могут переносить кодировку url, это не сработает. Но мы не знаем ваших полных требований.

urlencode(trim($string)); 


$string = "    bah bah"; 
echo urlencode(trim($string)); 

// bah+bah 
+0

вот что я получаю от этого: «+++++++++++ bah + bah» .. Я ищу простейший способ получить это: «bah + bah»; – faq

+0

@ zolee3003 Вы уверены, что вы включили 'trim()' inside 'urlencode()'? Это отлично работает для меня. –

+0

Я сделал тест, и он тоже работает. – armandomiani

1
$string = str_replace("/w /w", "+", trim($string)); 

облицовку() удаляет все ненужные пробелы

4

trim удалит пробелы в начале и конце:

$string = trim($string); 
echo str_replace(" ", "+", $string);