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

Name

Новичок
Регулярное выражение

$str = "<tpl:неизвестно>"
Надо найти "неизвестно"
"неизвестно" может состоять из буквеных и цифровых символов и _

Что preg_match или еще что то в этом роде, знаю.
Если не трудно, конкретное выражение.
 

.des.

Поставил пиво кому надо ;-)
Можно и без preg_match обойтись.. только для извращенцев :)
PHP:
$str = "sdfsd <tpl:неизвестно1> sdfkjsdalg <tpl:неизвестно2> assdjksg <tpl:неизвестно3>";
$arr_values=array();
$e=0;
while(($b=strpos($str,"<tpl:",$e)) && 
          ($e=strpos($str,">",$b+5)))
    $arr_values[]=substr($str,$b+5,$e-$b-5);
print_r($arr_values);
 

.des.

Поставил пиво кому надо ;-)
Неправильно значит рег переписал.
preg_match_all("/\<tpl\:(\w+)\>/",$str,$match);
print_r($match[1]);
Все работает !
 

Name

Новичок
Блин задолбали эти палочки.
А как найти, заменить все между <tmpl:sss>все что угодно</tmpl:sss>
 

Barlone

Guest
Автор оригинала: Name
Блин задолбали эти палочки.
А как найти, заменить все между <tmpl:sss>все что угодно</tmpl:sss>
Подсказка: выводишь echo preg_quote("<tmpl:sss>все что угодно</tmpl:sss>"), оно тебе слеши расставит где надо, а потом заменяешь "все что угодно" на (.*) и получаешь правильный шаблон для поиска :)
 
Сверху