$str_array = str_split($text);
foreach $str_array as $symbol
{
if (preg_match("#[\d\s\a-z]{1}#i", $symbol)) $array[]=$symbol;
}
$new_text = implode('', $array);
Форум → Программирование → PHP для идиотов → Помогите с регуляркой
Помогите с регуляркой
Страницы: ← Следующая страница →
-
Фев. 4, 2010, 4:24 п.п., спустя 31 минуту 35 секунд
<?php
function del_sym ($text)
{
$str_array = str_split($text);
foreach ($str_array as $symbol)
{
if (preg_match("#^[\d\s\.a-z]{1}$#i", $symbol)) $array[]=$symbol;
}
return implode('', $array);
}
$text = "dv3f4fdf#$%$\dsdDE4…4242$^## d d aa";
echo del_sym ($text);
?>
http://vasenin.net/pyha.phpСпустя 231 сек.Ну или так:echo preg_replace ("#[^\d\s\.a-z]{1}#i", '', $text);
-
Фев. 4, 2010, 9:07 п.п., спустя 4 часа 42 минуты 29 секунд
Не пойдёт?
$text = addcslashes( $str, "-" ); -
Фев. 4, 2010, 10:37 п.п., спустя 1 час 29 минут 57 секунд
Я так делаю:$query = preg_replace('/[^a-zа-я0-9\s\.]+/iu', '', $query);
https://smappi.org/ - платформа по созданию API на все случаи жизни -
-
Фев. 4, 2010, 11:27 п.п., спустя 35 минут 35 секунд
VaseninM, только с русскими не работает…Спустя 43 сек.и указывать a-zA-Z - муветон, лучше так a-Z, а еще лучше указывать модификатор "i"https://smappi.org/ - платформа по созданию API на все случаи жизни -
Фев. 4, 2010, 11:34 п.п., спустя 6 минут 40 секунд
adw0rd, не a-Z а A-z потому что капс раньше идет по таблице
но так указывать не надо потому что будет пропускать еще и [ \ ] ^ _ ` -
Фев. 4, 2010, 11:37 п.п., спустя 3 минуты 18 секунд
adw0rd, просто в статьях пыхи так написано.)
\w - любой алфавитно-цифровой символ [a-zA-Z0-9_]
Тут в общем то вопрос в _. Если он есть, то оно ему не подходит.
сам я обычно a-z с модификатором i пишу.
А вот на счет русских букв:
в свое время что то не срабатывали русские буквы прег_матче. С того времени думал, что о с ними не работает 0_о -
Фев. 4, 2010, 11:40 п.п., спустя 2 минуты 28 секунд
adw0rd, не a-Z а A-z потому что капс раньше идет по таблице
но так указывать не надо потому что будет пропускать еще и [ \ ] ^ _ `
Да, ссорь, спутал. Давно так не использовал.https://smappi.org/ - платформа по созданию API на все случаи жизни -
-
Фев. 5, 2010, 12:39 д.п., спустя 45 минут 48 секунд
Теперь единственная трудность, что не могу перед заменяемым поставить слэш "\" через preg_replace() , т.е. не работаетpreg_replace("/[^\s\w\d\.]{1}/i","\\$0",$xxx);
а хотелось бы, чтобы вместо "-" выдавалось "\-"
Так работает:$a ="-";
echo preg_replace ("#[^\d\s\.a-z]{1}#i", "\\" . $a, $text); -
Фев. 5, 2010, 1:10 д.п., спустя 31 минуту 12 секунд
ебать … пошел глаза протру, может не то показалось$str_array = str_split($text);
foreach $str_array as $symbol
{
if (preg_match("#[\d\s\a-z]{1}#i", $symbol)) $array[]=$symbol;
}
$new_text = implode('', $array);Спустя 39 сек.[\d\sa-z\.] вот)Спустя 17 сек.Примерно так. Писал с браузера)Сапожник без сапог -
Фев. 5, 2010, 1:15 д.п., спустя 4 минуты 28 секунд
phpdude, да лан… Заебись))) Сначала написал. Потом подумал. И еще раз написал все в одну строчку) -
Фев. 5, 2010, 1:16 д.п., спустя 1 минуту 15 секунд
если еще раз подумать то можно написать в 0 строчек ^^
phpdude, да лан… Заебись))) Сначала написал. Потом подумал. И еще раз написал все в одну строчку)Сапожник без сапог -
Фев. 5, 2010, 1:22 д.п., спустя 5 минут 32 секунды
phpdude, не.. Не хочу так далеко углубляться. Пусть будет в одну)
Дуд, а ты сколько лет на пхп пишешь?
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!