[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с регулярками
denisdangerous
В общем вся эта канитель для парсинга шаблонов. Имеем функцию:

function get_element($element_name=null,&$source=null,&$element){
preg_match('/\[ELEMENT=('.$element_name.')\]([\d\w\W]*)\[\/ELEMENT\]/', $source, $res);
$source=preg_replace('/\[ELEMENT=('.$element_name.')\]([\d\w\W]*)\[\/ELEMENT\]/', '{ELEMENT_\1}', $source);
$element["id"]=$res[1];
$element["content"]=$res[2];
print_r($res);
}


допустим $source="<select>[ELEMENT=OPT]<option value="{VAL}">{NAME}</option>[/ELEMENT] </select> [ELEMENT=DIV]<div class="{VAL}">{NAME}</div>[/ELEMENT]';"
$element_name="OPT";
на выходе имеем:
<option value="{VAL}">{NAME}</option>[/ELEMENT] </select> [ELEMENT=DIV]<div class="{VAL}">{NAME}</div>

вместо:
<option value="{VAL}">{NAME}</option>


Как сделать чтоб он брал до первого закрывающегося тега, а не до последнего?
rooor
использовать модификатор U ?
preg_match('/\[ELEMENT=('.$element_name.')\]([\d\w\W]*)\[\/ELEMENT\]/U', $source, $res);
denisdangerous
Цитата (rooor @ 1.04.2013 - 07:40)
использовать модификатор U ?
preg_match('/\[ELEMENT=('.$element_name.')\]([\d\w\W]*)\[\/ELEMENT\]/U', $source, $res);

Спасибо тебе, человечище, 3 дня уже бьюсь.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.