переменная в регулярном выражении

12
H
На сайте с 21.12.2007
Offline
24
823

как сделать чтобы в регулярном выражении отсеивались слова меньше определённой длины КОТОРАЯ ОПРЕДЕЛЯЕТСЯ ПОЛЬЗОВАТЕЛЕМ

например

$length = $_POST["text"];

preg_match_all({$length,}, $string, $result)

Dreammaker
На сайте с 20.04.2006
Offline
569
#1

неправильно понял задачу потёр..

Ufaweb
На сайте с 03.03.2008
Offline
182
#2

preg_match_all("/{$lenght, 255}\b/", $string, $result)

Как-то так... Сам не силен в регулярках :(

Dreammaker
На сайте с 20.04.2006
Offline
569
#3

и тут потёр...

ТС, опишите задачу на примере...

S
На сайте с 09.10.2007
Offline
186
#4
hrenoid:
как сделать чтобы в регулярном выражении отсеивались слова меньше определённой длины КОТОРАЯ ОПРЕДЕЛЯЕТСЯ ПОЛЬЗОВАТЕЛЕМ

например
$length = $_POST["text"];
preg_match_all({$length,}, $string, $result)

в перле (извините в пхп не силен) можно так:

new_text=''

while ($text =~ /\b([a-z0-9\-]{,5})\b/)

{

new_text.=(new_text eq ''?'':' ').$1;

}

Удобная панель для доменных имен (http://panel.started.ru/) с массовыми операциями. Индивидуальные цены по запросу.
H
На сайте с 21.12.2007
Offline
24
#5
Dreammaker:
а зачем для этого регулярка?



$length = ( strlen($length) < 5 ) ? '' : $length;



ну или что там вам по смыслу нужно.

это просто пример - часть регулярки

в перле (извините в пхп не силен) можно так:

new_text=''
while ($text =~ /\b([a-z0-9\-]{,5})\b/)
{
new_text.=(new_text eq ''?'':' ').$1;
}

а где там переменная внутри регулярки ?

Ufaweb
На сайте с 03.03.2008
Offline
182
#6

hrenoid, это на перле. В регулярке нет переменной, в данном случае, слово - это ([a-z0-9\-]{,5}), а \b - граница слова.

Вот это пробовали?

preg_match_all("/\b{$lenght, 255}\b/", $string, $result)
H
На сайте с 21.12.2007
Offline
24
#7

пробовал, не работает

WebSee
На сайте с 12.11.2007
Offline
66
#8

Предложу свой вариант :)


$text = preg_replace('/\b(\B{,'.$lenght.'})\b/', '', $text);
Встань и иди!
Ufaweb
На сайте с 03.03.2008
Offline
182
#9
WebSee:
Предложу свой вариант :)

$text = preg_replace('/\b(\B{,'.$lenght.'})\b/', '', $text);

А зачем это?

D
На сайте с 14.01.2007
Offline
153
#10

preg_match("/.{$length,}/", $text);

?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий