Внимание! В связи с устареванием топика эта страница была взята из кэша.
|
Sterx +
Зарегистрирован: 08.12.02
Сообщения: 2665
|
Добавлено: 20/09/04 в 12:18
|
|
задаешь слить в файл txt повторения шаблона "shablon" построчно или что то похожее? спасибо
|
K началу
|
|
|
undef
Зарегистрирован: 15.09.03
Сообщения: 357
|
Добавлено: 20/09/04 в 12:31
|
|
Sterx писал: | задаешь слить в файл txt повторения шаблона "shablon" построчно или что то похожее? спасибо |
есть класс: даешь на вход шаблон в формате html + данные из скрипта на выходе готовый html
надо?
|
K началу
|
|
|
Sterx +
Зарегистрирован: 08.12.02
Сообщения: 2665
|
Добавлено: 20/09/04 в 12:53
|
|
грубо говоря надо: [фрагмент шаблона1][произвольный кусок кода][фрагмент шаблона2] выдернуть такие куски из хтмл и записать построчно в файл
|
K началу
|
|
|
undef
Зарегистрирован: 15.09.03
Сообщения: 357
|
Добавлено: 20/09/04 в 13:23
|
|
Sterx писал: | грубо говоря надо: [фрагмент шаблона1][произвольный кусок кода][фрагмент шаблона2] выдернуть такие куски из хтмл и записать построчно в файл |
"фрагмент шаблона" - заранее известно по каким признакам его выделять? тэги какие, или еще что?
|
K началу
|
|
|
Sterx +
Зарегистрирован: 08.12.02
Сообщения: 2665
|
Добавлено: 20/09/04 в 13:28
|
|
да последовательность тегов зы: у меня есть скрипт, но там черт ногу сломит , попроще бы чего
|
K началу
|
|
|
Wahoven
Зарегистрирован: 19.09.03
Сообщения: 1473
|
Добавлено: 20/09/04 в 18:01
|
|
preg - проще не придумаешь.
|
K началу
|
|
|
Jark
Зарегистрирован: 05.01.04
Сообщения: 92
|
Добавлено: 20/09/04 в 18:21
|
|
да, как я понял проблему - preg самое то...
|
K началу
|
|
|
Yahook
Зарегистрирован: 18.11.01
Сообщения: 1552
|
Добавлено: 20/09/04 в 19:50
|
|
Так тебе всего одна функция нужна из пхп...
|
K началу
|
|
|
Sterx +
Зарегистрирован: 08.12.02
Сообщения: 2665
|
Добавлено: 20/09/04 в 22:11
|
|
ни фига не понял. хоть пример киньте какой нибудь понял что мне наиболее подходит preg_match_all однако туплю чего то вот код произвольный с МХ
Код: | <body bgcolor=#FFFFFF leftmargin=0 topmargin=0 marginwidth=0 marginheight=0> <table width=100% border=0 cellspacing=0 cellpadding=0> <tr bgcolor=#141A15> <td height=15 background=/images/dacash/_top.gif style="background-repeat:no-repeat;" valign=top align=right colspan=2 height=12 class=top><a href=http://pda.master-x.com class=top>PDA Version</a> | <a href=/about/map.html class=top>Карта сайта</a> | <a href=/about/ class=top>О нас</a> | <a href=/about/autors/ class=top>Авторам</a> | <a href=/about/partners.html class=top>Партнеры</a> | <a href=/faq/category/11/ class=top>Справка</a> </td> </tr> <tr><form name=sear method=get action="/search/forum.html?mode=results" name=search onSubmit="return this.action = document.all.searchSelect.value"><input type=hidden name=search_terms value=all> <td width=1 bgcolor=#551C1C><nobr><a href=/ title="Master-X Home"><img src=/images/dacash/_logo.gif width=107 height=63 border=0 /></a><a href=http://www.dacash.com title="DaCash"><img src=/images/dacash/_dacash-logo.gif width=290 height=63 border=0 /><img src=/images/dacash/_dacash-logo-text.gif width=234 height=63 border=0 /></nobr></td> <td bgcolor=#2B4235 align=right valign=middle class=top background=/images/dacash/top-bg.jpg> <nobr><input type=text name=search_keywords size=15 style='background-color:#ffffff'> <select name=r style='background-color:#ffffff' id=searchSelect><option value='/search/news.html?mode=results' >в новостях</option><!-- option value=2 >в статьях</option --><option value='/search/forum.html?mode=results' selected>в форуме</option></select> <input type=submit value='Поиск'> </nobr></td> </form></tr> <tr bgcolor=#1B2820> |
как выдернуть фрагменты содержащиеся между img src= и width= ? то есть имя рисунка?
|
K началу
|
|
|
Dr.Syshalt
Зарегистрирован: 14.05.04
Сообщения: 145
|
Добавлено: 21/09/04 в 09:16
|
|
Ну, вот тебе код произвольный :)
Код: | if ( preg_match_all("/<img.*?src=(\"|\')?(.*?)(\"|\')?\s/i",$buffer,$matches) ) { $result = implode("\n",$matches[2]); echo $result; }
|
который из этого, если в $buffer поочередно засовывать все строки текста, по строчке выведет имена картинок. Даже возможность наличия кавычек учтена.
Но все равно, HTML парсить _правильно_ достаточно трудно. Скажем, такой же код <img src=... может оказаться в комментах, или где угодно - и все поломается. Так что реальный выход вот здесь
http://php-html.sourceforge.net/
... хотя в простых случаях и pcre хватает :)
|
K началу
|
|
|
jagmeter
Зарегистрирован: 21.09.04
Сообщения: 13
|
Добавлено: 21/09/04 в 13:07
|
|
или "/<\s*img.*?src\s*=\s*[\'\"]?(.*?)[\'\"]?\s/smi"
preg_match_all("/<\s*img.*?src\s*=\s*[\'\"]?(.*?)[\'\"]?\s/smi",$buffer,$matches); $m=array_unique($matches[1]); //print_r($matches[1]); sort($m); print_r($m);
off - глобальные модификаторы должны присутствовать в любом случае, иначе, к примеру "/<img.*?src=(\"|\')?(.*?)(\"|\')?\s/i" на главной mx теряет 3 ссылки
|
K началу
|
|
|
Sterx +
Зарегистрирован: 08.12.02
Сообщения: 2665
|
Добавлено: 21/09/04 в 23:54
|
|
спасибо большое. отдельно - jagmeter:  цель достигнута. правда так до конца не разобрался - куча док, в одной так написано, в другой так...
|
K началу
|
|
|
TAiNT
Зарегистрирован: 28.05.04
Сообщения: 110
|
Добавлено: 22/09/04 в 12:25
|
|
Народ, регэкспами парсить HTML гиморно ----> http://www.regexp.org/ Для этого используют HTML парсеры - на входе HTML - на выходе массив разбитый по тегам, в инете море классов готовых. Вот например http://mesh.dl.sourceforge.net/sourceforge/php-html/phphtmlparser.tar.gz очень неплох.
UPDATE Dr.Syshalt простите, не дочитал, тупанул
|
K началу
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |
Внимание! В связи с устареванием топика эта страница была взята из кэша.
|