Удалите лишние пробелы с помощью str_replace

Название и код в значительной степени говорят сами за себя …

но только чтобы уточнить больше …

Я хочу остаться с одним пробелом между каждым словом внутри $myString (и убрать плохие слова) …

Я предпочитаю оставаться в одной линии, если это возможно …

$myString = 'There    will      be     no   extra    space       here !!!';

str_replace(array("bad words","another bad words","\s+"), '', $myString);

Я ожидаю получить:

There will be no extra space here !!!

Спасибо!

0

Решение

Попробуй это

$myString =     preg_replace('/\s\s*/', ' ',$myString);
2

Другие решения

Посмотреть демо Жить

str_replace заменяет конкретное вхождение строки. и в вашем случае вы должны удалить только пустое пространство, не нужно заменять так preg_replace лучше всего подходит для вашего случая.

Чтобы удалить все нежелательные пустые места, которые вы просто делаете,

Код

<?php

$myString = 'There    will      be     no   extra    space       here !!!';
echo str_replace('/\s+/', ' ',$myString);

?>

str_replace а также preg_replace оба дают одинаковый результат. вы можете увидеть на Вот

Результат

There will be no extra space here !!!
2

print (preg_replace('/ +/', ' ', $myString));
1

Я думаю, что вы хотите:

$myString = 'There    will      be     no   extra    space       here !!!';

str_replace(array("bad words","another bad words","\s\s"), array("","", " "), $myString);

В параметре $ replace можно использовать массив, индексированные элементы которого соответствуют элементам параметра $ search.

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
0
По вопросам рекламы [email protected]