Ответ 1
$string = preg_replace("/[^a-z0-9.]+/i", "", $string);
Соответствует одному или нескольким символам не a-z 0-9 [без учета регистра], или "." и заменяется на ""
Мне нужна строка регулярного выражения или другая строка, которая может заменить все, кроме буквенно-цифровых символов (a-z
и 0-9
) из строки. Все вещи, такие как ,@#$(@*810
, должны быть удалены. Любые идеи?
Изменить: мне теперь нужно это, чтобы разделить все, но разрешить точки, поэтому все, кроме a-z, 1-9, .
. Идеи?
$string = preg_replace("/[^a-z0-9.]+/i", "", $string);
Соответствует одному или нескольким символам не a-z 0-9 [без учета регистра], или "." и заменяется на ""
Мне нравится использовать [^ [: alnum:]] для этого, меньше места для ошибки.
preg_replace('/[^[:alnum:]]/', '', "(ABC)-[123]"); // returns 'ABC123'
/[^a-z0-9.]/
должен сделать трюк
Try:
$string = preg_replace ('/[^a-z0-9]/i', '', $string);
/i означает нечувствительность к регистру (если вам это нужно, конечно).
Это также заменяет ничего, кроме цифры, символа слова или периода с подчеркиванием. Полезно для имен файлов.
$clean = preg_replace('/[^\d\w.]+/', '_', $string);