Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.10.2011, 07:58
Аватар для greatilya
Интернет-турист
Отправить личное сообщение для greatilya Посмотреть профиль Найти все сообщения от greatilya
 
Регистрация: 01.08.2008
Сообщений: 516

Регулярка для выдергивания id
Правда код на php, но особой разницы нет.
У меня имеется строка s:
$s='<h3 class="part">Что это?<?=$this->lang[5];?></h3><h3 class="part">Что это?<?=$this->lang[12];?></h3>';

Необходимо из элементов <?=$this->lang[5];?> вытащить id, в данном случае 5.
Пишу следующую регулярку:
preg_match_all("/(?<=\<\?=$this->lang\[)\d*(?=\])/i", $s, $matches);

На выходе $matches[0] выдает пустой массив, а хотелось бы array(5,12).
Подскажите, где я накосячил с регуляркой?
Заранее спасибо.
__________________
VPS от 175 рублей (есть скидки 15% писать в ПМ) Анализ рынка VPS серверов
Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не уверен.
Альберт Эйнштейн
Ответить с цитированием
  #2 (permalink)  
Старый 24.10.2011, 09:18
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

1. Вот < в регулярке Вы заэкранировали, а $ почему-то не стали. А ведь первое не является управляющим символом регэкспов, в отличие от второго.
Ответить с цитированием
  #3 (permalink)  
Старый 24.10.2011, 11:31
Аватар для greatilya
Интернет-турист
Отправить личное сообщение для greatilya Посмотреть профиль Найти все сообщения от greatilya
 
Регистрация: 01.08.2008
Сообщений: 516

B@rmaley.e><e,
заменил на
preg_match_all("/(?<=<\?=\$this->lang\[)\d*(?=\])/i", $s, $matches);
результат остался прежним, не находит. Где я еще мог закосячиться?
Если имеет значение, длина строки $s сопоставима с длиной html кода страницы, в данный момент порядка 15000 символов.

UPD:
Работает данный вариант:
preg_match_all("/(?<=this->lang\[)\d*(?=\])/i", $s, $matches)
__________________
VPS от 175 рублей (есть скидки 15% писать в ПМ) Анализ рынка VPS серверов
Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не уверен.
Альберт Эйнштейн

Последний раз редактировалось greatilya, 24.10.2011 в 18:26.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Нужны светлые головы для создания нового web-проекта Kostanakis AJAX и COMET 3 03.10.2011 11:20
Новая система управления сайтом Scripto CMS deepslam Ваши сайты и скрипты 38 31.01.2011 14:55
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31