Название и код в значительной степени говорят сами за себя …
но только чтобы уточнить больше …
Я хочу остаться с одним пробелом между каждым словом внутри $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 !!!
Спасибо!
Попробуй это
$myString = preg_replace('/\s\s*/', ' ',$myString);
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 !!!
print (preg_replace('/ +/', ' ', $myString));
Я думаю, что вы хотите:
$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 ] )