Регулярные выражения - вопрос №798131

Здравствуйте! У меня проблема с регулярными выражениями и функцией preg_match. есть страница, полученная через curl и обработанная функцией htmlspecialchars.

Вот кусуок кода:

__run ico-trade-status ico-trade-status-runs active"><i>●</i><span>Публикуется на доске</span></a><a href="/trade/hideOffer?id=180274&from=myoffers" class="__susp ico-trade-status ico-trade-status-suspended"><i>║</i><span>Не показывать на доске</span></a></div> </td> <td class=«td-admin»> <a href="/trade/shiftUp?id=180274" class=«ico ico-btn ico-shiftup» title=«Поднять»> <i>⇧</i> <span>Поднять</span> </a> <a href='/trade/editOffer?id=180274' class=«ico ico-edit» title=«Редактировать»> <i>✎</i> <span>Редактировать</span> </a> </td> </tr> <tr> <td class=«td-category»> <a class=«categorycategory-sale»> <strong>Продам</strong> </a> 

нужно вытащить шесть цифр, стоящих между 'shiftUp.id=' и '" class=«ico ico-b'
таких шестизначных чисел встречается во всем коде 5, все они различны. 

20.10.13
1 ответ
php

Лучший ответ по мнению автора

Шаблон для поиска искомой строки:

$pattern = "'(shiftUp\?id=)[\d]+'";

preg_match($pattern, $string, $matches);

 После preg_match, в массиве $matches будут все найденные строки вида "shiftUp?id=180274". Далее просто обрезаем строку и получаем id

$shiftUpId = $matches[0];

$id = str_replace(«shiftUp?id=»,"", $shiftUpId);

 
21.10.13
Лучший ответ по мнению автора

Дима

Читать ответы
Посмотреть всех экспертов из раздела Технологии > PHP
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store