dragonika8
@dragonika8
FrontEnd-Разработчик

Как работать со строкой?

У меня есть строка:

$text = 'Привет     как дела??? Что делаешь,,, как ты!!! Блин... Боже.. Стоп.';


И мне нужно чтобы убирались лишние запятые, точки, вопросительные и восклицательные знаки. Для этого я смог сделать вот так

$search = array('/(\!){2,}/', '/(\?){2,}/', '/(\,){2,}/', '/(\.){2,}/');


И замену сделал через это

echo preg_replace($search, '$1', $text);

В итоге у меня почти получилось сделать то, что нужно.

5c6935232456b076774009.png

Но мне нужно помощь в том, как сделать чтобы не трогалось троеточие.

Чтобы получилось вот так вот: Привет как дела? Что делаешь, как ты! Блин... Боже. Стоп.
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 2
gobananas
@gobananas
finishhim.ru
Так может просто
$search = array('/(\!){2,}/', '/(\?){2,}/', '/(\,){2,}/', '/(\.){2,}/');

заменить на
$search = array('/(\!){2,}/', '/(\?){2,}/', '/(\,){2,}/');
Ответ написан
@Vitsliputsli
Примерно так:
$search = array('/(\!)+/', '/(\?)+/', '/(\,)+/', '/(\.){4,}/', '/(\.){2}/');

оставляет по 1 знаки " ! ? , . ", не трогает три точки. Но лучше сразу опишите все условия.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы