Как сделать разделение текста с символами?

Недавно я задавал похожий вопрос, но теперь мне нужно еще лучше его доработать
Вот код
$b = preg_split("/[\W]/u", $a, -1, PREG_SPLIT_NO_EMPTY);

Он разделяет текст на пробелы, на все виды символов кроме цифр и букв.
Так вот нужно чтоб он также все разделял кроме символов $,№,%,? и т.д
Например я написал: ког$да я пишу? текст№ он должен быть разделен вот так ког $ да я пишу ? текст № суть чтобы такие символы были отдельно и записывались тоже.

Сейчас это происходит так ког да я пишу текст они тупо удаляются ибо считаются как обычное разделение между текстом.
  • Вопрос задан
  • 2829 просмотров
Решения вопроса 1
kompi
@kompi
nullstack devoops
Возвращает массив с разбивкой по разделителям.
$b = preg_split('~\s|([\$\№\%\?\!])~u', $a, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY)

Возвращает строку, не массив.
$text = preg_filter('~(\s*([$№%?])\s*)~u', ' $2 ', $a);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы