Удалите все ненужные символы из строки английских слов и китайских символов
Есть ли какая-либо функция preg_replace (или любой другой метод) для удаления всех ненужных символов из строки английских слов и китайских символов. Ненужные символы включают в себя все специальные символы (включая подчеркивание) и цифры. Обратите внимание, что я не хочу удалять пробелы и связанные дефисы.
Например:
Ввод: "我来到北京清华大学! Эй, я Мэтт - @ * + = 123 45 6 7 890 .._my-you"
Вывод: "我 来到 北京 清华大学 эй, я Мэтт мой-ты"
1 ответ
Решение
Попробуйте это регулярное выражение:
[!@*+=._]|(?<=\s)-(?=\s)|\d
также поместите в этот блок все, что вы хотите удалить [!@*+=._]
Источник выборки:
$re = '/[!@*+=._]|(?<=\s)-(?=\s)|\d/u';
$str = '我来到北京清华大学 ! hey i am matt - @ * + = 123 45 6 7 890 .._my-you';
$subst = '';
$result = preg_replace($re, $subst, $str);
echo $result;