Вырезать текст между кусками тэгов

Статус
В этой теме нельзя размещать новые ответы.
Всем привет.
Помогите плиз, надо вырезать текст между HTML комментариев на странице:
<!-- начало статуса -->
<tr>
<td class="main" align="center">
Нужный текст</td>
</tr>
<!-- конец статуса -->
Не получается, вырезает, но как-то криво, помогите кто разбирается плиз.
Спасибо.
Составил так:
preg_match_all("/(начало статуса наличия.*)(\w.*)(конец статуса наличия)/ismU", $file, $matches);
print_r($matches);
Но выдаёт не совсем что мне надо (тэги tr td надо убрать:(
Array ( [0] => Array ( [0] => начало статуса наличия --> Временно нет < ) [2] => Array ( [0] => tr> Временно нет Array ( [0] => конец статуса наличия ) )
[0] => tr> Временно нет
Если делаю так:
preg_match_all("/(начало статуса наличия.*<tr>.*<td class=\"main\" align=\"center\">)(\w.*)(<\/tr>.*конец статуса наличия)/ismU", $file, $matches);
выдаёт пустой экран.
Что не так?
 
PHP:
preg_match_all("/\-\->[^~]+?<tr>[^~]+?<td[^>]+>([^<]+)/i", $file, $matches);

пиво - почтой. и перестань модификаторами злоупотреблять.
 
По аналогии с предыдущим вопросом...
Есть некоторый текст:
PHP:
<div class="tab-content characteristics">
<div class="container">
<table>
<h2></h2>
<tr>
<td class="title">Краткие характеристики</td>
<td class="field">15.4 (1280 x 800) / Intel Core 2 Duo T5870 (2.0 ГГц) / RAM 2 ГБ / HDD 320 ГБ / Intel GMA X4500 / DVD Super Multi / Wi-Fi / веб-камера / DOS / 2.85 кг</td>
</tr>
<tr>
<td class="title">Экран</td>
<td class="field">15.4 WXGA (1280x800)</td>
</tr>
<tr>
<td class="title">Процессор</td>
<td class="field">Двухъядерный Intel Core 2 Duo T5870 (2.0 ГГц)</td>
</tr>
<tr>
<td class="title">Объем оперативной памяти</td>
<td class="field">2 ГБ</td>
</tr>
<tr>
<td class="title">Тип оперативной памяти</td>
<td class="field">DDR2</td>
</tr>
<tr>
<td class="title">Чипсет</td>
<td class="field">Intel GM45 Express</td>
</tr>
<tr>
<td class="title">Жесткий диск</td>
<td class="field">320 ГБ</td>
</tr>
<tr>
<td class="title">Графический адаптер</td>
<td class="field">Интегрированный, Intel GMA 4500MHD</td>
</tr>
<tr>
<td class="title">Сетевые адаптеры</td>
<td class="field">Wi-Fi, Fast Ethernet</td>
</tr>
<tr>
<td class="title">Оптический привод</td>
<td class="field">DVD Super Multi</td>
</tr>
<tr>
<td class="title">Дополнительные возможности</td>
<td class="field">Веб-камера 2.0 Мп</td>
</tr>
<tr>
<td class="title">Разъемы и порты ввода-вывода</td>
<td class="field">ExpressCard 54 / 4 порта USB 2.0 / VGA / HDMI / RJ-45 (LAN) / FireWire / выход на наушники / микрофонный вход / кард-ридер (SD)</td>
</tr>
<tr>
<td class="title">Операционная система</td>
<td class="field">DOS</td>
</tr>
<tr>
<td class="title">Батарея</td>
<td class="field">Литий-ионная, 6-ячеечная</td>
</tr>
<tr>
<td class="title">Габариты (Ш х Г х В)</td>
<td class="field">358 x 260 x 37 мм</td>
</tr>
<tr>
<td class="title">Вес</td>
<td class="field">2.85 кг</td>
</tr>
<tr>
<td class="title">Комплект поставки</td>
<td class="field">Lenovo ThinkPad SL500, батарея, адаптер питания, документация</td>
</tr>
<tr>
<td class="title">Гарантия</td>
<td class="field">12 месяцев</td>
</tr>
</table>
</div>
</div>
Необходимо вырезать ВСЁ содержимое между <table> (включая table).
Методом проб и ошибок сложил от такой RegExp:
/<table>[a-zA-Zа-яА-Я0-9\.\,\/\:\<\>\"\=\-\s\(\)]*</table>/i
Небольшое отступление: методом "нагугливания" была скачана и установлена прожка The Regex Coach.
Прога корректно понимает мой RE, втыкаю в движок ЦМС - никакого результата...
RegExCoach2.png
По аналогии (Для просмотра ссылки Войди или Зарегистрируйся) переделал RE:
/<table>[^~]+?</table>/i
Прога понимает - движок нет..!
RegExCoach.png
Вопрос: в чём "косяк"? Прошу помощи....
 
<?php
$stat = '<!-- начало статуса -->
<tr>
<td class="main" align="center">
Нужный текст</td>
</tr>
<!-- конец статуса -->';
preg_match('/\<\!\-\- начало статуса \-\-\>(.*?)<\!\-\- конец статуса \-\-\>/s', $stat, $result);
echo $result[1];
?>

Добавлено через 5 минут
для <table>

preg_match('/(\<table\>.*?\<\/table\>)/s', $stat, $result);
 
Сколько не пытаюсь никогда не получается ничего понять в регулярках, прошу помощи:

есть такой код:

<input type='hidden' name='k' value='55652'>

значение в value постоянно меняется, так вотподскажите как мне достать это значение ? Интересует только число!
 
Сколько не пытаюсь никогда не получается ничего понять в регулярках, прошу помощи:
есть такой код:
значение в value постоянно меняется, так вотподскажите как мне достать это значение ? Интересует только число!
Код:
/<input type='hidden' name='k' value='(\d+)'>/i
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху