Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

05.06.2009, 12:40
|
|
Участник форума
Регистрация: 14.12.2008
Сообщений: 140
Провел на форуме: 186812
Репутация:
14
|
|
сделайте чтобы так было
<tr class="te70"><td>Manufacturer, model (модель телефона)</td><td>ТУТ ТЕКСТкакойй надо достать</td></tr>
|
|
|

05.06.2009, 12:48
|
|
Участник форума
Регистрация: 12.01.2007
Сообщений: 262
Провел на форуме: 4608122
Репутация:
874
|
|
Код:
<tr class="te70"><td>(.*)<\/td><td>(.*)<\/td>
Первый карман - "Любой текст"
Второй - "Это надо узнать"
Вообще достаточно <td>(.*?)<\/td> но тут важно парсить только строчки указаного вида (т.е. только <tr class="te70"><td>Любой текст</td><td>Это надо узнать</td></tr>) Причем "Любой текст" не совсем верно думаю, потому как если в тексте будут </td> то эта регулярка не сработает. И разбор чуть не такой при использовании короткой регулярой.
Последний раз редактировалось Red_Red1; 05.06.2009 в 12:50..
|
|
|

05.06.2009, 13:05
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
PHP код:
<?php
$str = '<tr class="te70"><td>Любой текст</td><td>Это надо узнать</td></tr>';
$regexp = '/<tr[^>]*><td[^>]*>.*<\/td><td[^>]*>(.*)<\/td><\/tr>/';
preg_match_all($regexp, $str, $match);
print_r($match);
?>
Вот устойчивая регулярка выведет в $match[1] нужную "Это нада узнать"
Последний раз редактировалось FireFenix; 05.06.2009 в 13:09..
|
|
|

05.06.2009, 13:13
|
|
Участник форума
Регистрация: 14.12.2008
Сообщений: 140
Провел на форуме: 186812
Репутация:
14
|
|
спс. роботает
|
|
|

05.06.2009, 22:24
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
чёт у меня башка ваще не варит =\\
есть строка
Код:
<input type="hidden" name="inviter" value=""><input type="hidden" name="token" value="67f21d69aa231" />
есть регулярка
Код:
<input.*?value="(.*?)".*?name="(.+?)".*?>#is
в результате он находит
Код:
[1] => Array
(
[0] =>
)
[2] => Array
(
[0] => token
)
Не могу понять где я ошибся .... почему он НАХОДИТ чтото ... по идеи не должно же =\\
|
|
|

05.06.2009, 22:34
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
|
|
|

05.06.2009, 22:35
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
Порядок следования value и name в регулярном выражении не соответствует тексту
PHP код:
<?php
$string = '<input type="hidden" name="inviter" value=""><input type="hidden" name="token" value="67f21d69aa231" />';
$regexp = '/<input.*?name="(.+?)".*?value="(.*?)".*?>/is';
preg_match_all($regexp, $string, $match);
print_r($match);
?>
Выдаст
Код:
Array
(
[0] => Array
(
[0] => <input type="hidden" name="inviter" value="">
[1] => <input type="hidden" name="token" value="67f21d69aa231" />
)
[1] => Array
(
[0] => inviter
[1] => token
)
[2] => Array
(
[0] =>
[1] => 67f21d69aa231
)
)
|
|
|

05.06.2009, 22:40
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
FireFenix млять ты читал что я написал ? прочти 10 раз ... я написал что НЕ ДОЛЖНО НАХОДИТЬ ...
mailbrush а это тут причём .. порядок следования не соответствует ... так что это тут не причём ..
|
|
|

05.06.2009, 22:45
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
Сообщение от Doom123
FireFenix млять ты читал что я написал ? прочти 10 раз ... я написал что НЕ ДОЛЖНО НАХОДИТЬ ...
Упс..... наверное оно считывает 2 тега как 1 большой тег с кучей левого текста.
Можно край тега ограничить [^>]*> и всё будет намана
|
|
|

05.06.2009, 22:48
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
я поставил ограничение жадности "?" тоесть еси он доходит до первого > он останавливается
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|