Разделить строку на небуквенно-цифровые символы в PHP? Возможно ли это с помощью встроенной функции PHP? ⇐ Php
-
Anonymous
Разделить строку на небуквенно-цифровые символы в PHP? Возможно ли это с помощью встроенной функции PHP?
Я пытался разделить строку на небуквенно-цифровые символы или, проще говоря, я хочу разделить слова. Подход, который мне сразу пришел в голову, — использовать регулярные выражения.
Пример:
$string = 'php_php-php php';
$splitArr = preg_split('/[^a-z0-9]/i', $string);
Но в этом подходе я вижу две проблемы.
[*]Это не встроенная функция PHP и полностью зависит от библиотеки PCRE, работающей на сервере. [*]Не менее важная проблема: что, если в слове есть знаки препинания
Пример:
$string = 'Голосование мужчин в США';
$splitArr = preg_split('/[^a-z0-9]/i', $string);
Теперь строка будет записана как [{U}{S}{A}{men}{s}{vote}]
Но я хочу, чтобы это было [{USA}{men's}{vote}]
Итак, мой вопрос заключается в следующем:
[*]Как разделить их по словам? [*]Есть ли возможность сделать это с помощью встроенной функции PHP или каким-либо другим способом, от которого мы не зависим?
С уважением
Я пытался разделить строку на небуквенно-цифровые символы или, проще говоря, я хочу разделить слова. Подход, который мне сразу пришел в голову, — использовать регулярные выражения.
Пример:
$string = 'php_php-php php';
$splitArr = preg_split('/[^a-z0-9]/i', $string);
Но в этом подходе я вижу две проблемы.
[*]Это не встроенная функция PHP и полностью зависит от библиотеки PCRE, работающей на сервере. [*]Не менее важная проблема: что, если в слове есть знаки препинания
Пример:
$string = 'Голосование мужчин в США';
$splitArr = preg_split('/[^a-z0-9]/i', $string);
Теперь строка будет записана как [{U}{S}{A}{men}{s}{vote}]
Но я хочу, чтобы это было [{USA}{men's}{vote}]
Итак, мой вопрос заключается в следующем:
[*]Как разделить их по словам? [*]Есть ли возможность сделать это с помощью встроенной функции PHP или каким-либо другим способом, от которого мы не зависим?
С уважением