Форум: "Прочее";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];
ВнизПомогите написать перловый регэксп плиз Найти похожие ветки
← →
Kerk © (2007-04-11 11:52) [0]Вот такая вот структура текста:
[TITLE]
By [USERNAME]
[TEXT]
<URL1>
[INFO]
<URL2>
[TITLE]
By [USERNAME]
[TEXT]
<[URL1]>
[INFO]
<[URL2]>
n таких блоков через двойной перевод строки
[TERMINATOR]
Интересуют поля [TITLE], [TEXT] и [URL1]
Еще стоит заметить, что строки "By [USERNAME]" может вообще не быть. В таком случае она просто пропускается, никаких пробелов и переводов строки на ее место не ставится, все идет подряд. С ней у меня и проблема
← →
Kerk © (2007-04-11 11:56) [1]М. Еще
Поля [TITLE] и [TEXT] могут содержать переводы строки
← →
Zeqfreed © (2007-04-11 12:53) [2]Многострочные строки парсить лучше вручную, а не регекспами.
← →
Zeqfreed © (2007-04-11 12:58) [3]Если ничем занят не буду и дашь пример входных данных, могу попробовать написать на php.
← →
umbra © (2007-04-11 13:05) [4]если нет строки By [USERNAME], то [TITLE] и [TEXT] невозможно разделить. Кроме того, наверное, лучше читать блоками и в каждом сначала определять, есть ли By [USERNAME].
← →
Kerk © (2007-04-11 13:08) [5]> [4] umbra © (11.04.07 13:05)
Да. Я уже заметил :(
Есть возможность получать этот текс с html-разметкой, думаю там получится лучше.
> [3] Zeqfreed © (11.04.07 12:58)
Спасибо. Посмотрю, что там с html и отпишусь еще, если что
← →
xayam © (2007-04-11 13:10) [6]
> Kerk © (11.04.07 11:52)
Керк, не мучайся. Делай все в xml, проще жить))
← →
Kerk © (2007-04-11 13:26) [7]> [6] xayam © (11.04.07 13:10)
Какой же ты дурак все-таки
← →
xayam © (2007-04-11 13:28) [8]
> Kerk © (11.04.07 13:26) [7]
мы все дураки))
← →
Kerk © (2007-04-11 13:31) [9]> [8] xayam © (11.04.07 13:28)
Все звери равны, но некоторые равнее.
Так и ты.. все мы конечно дураки, но..
← →
xayam © (2007-04-11 13:34) [10]так, да не так
← →
umbra © (2007-04-11 13:39) [11]а если прочитан один блок и By [USERNAME] есть, то
/by \w*\n/si
- ищем By [USERNAME]
в переменной$`
содержится [TITLE]
Затем
$& =~ /(.*)(\n<)(\w*)(>\n)/s
В $1 будет [TEXT], а в $3 - [URL1]
← →
Kerk © (2007-04-12 10:11) [12]Вот такая строка:
<a style=3D"color: blue" href=3D"http://boards.rebkell.net/viewtopic.php?p==3D303284&sid=3Db0dec6bdedd7f6347c318ada7a3a6bff">RebKell's Junkie Boards :: View topic - USA Senior team reports ...</=b></a><br><font size=3D-1>7 ZARA Francesca (76 179 P) Mosca 8 BONAFEDE =Monica (85 184A) Levoni Cras Taranto 9 BAGNARA Benedetta (87 178 G) Termo Carispe LaSpezia ...<br>
Почему такой рэгэксп не работает? :(
$blocks[$i] =~ m/"(http:\/\/.+)">(.+)<\/a><br><font.+>(.+...<\/b>)<br>/isg;
И, собственно, использую далее $1,$2,$3
← →
Kerk © (2007-04-12 10:14) [13]Форум съел тэги. На точки внутри <.b> внимания не обращайте.
<a style=3D"color: blue" href=3D"http://boards.rebkell.net/viewtopic.php?p==3D303284&sid=3Db0dec6bdedd7f6347c318ada7a3a6bff">RebKell's Junkie Boards :: View topic - USA Senior team reports <.b>...</=b></a><br><font size=3D-1>7 ZARA Francesca (76 179 P) Spartak Mosca 8 BONAFEDE =Monica (85 184A) Levoni Cras Taranto 9 BAGNARA Benedetta (87 178 G) Termo Carispe LaSpezia <.b>...<./b><br>
← →
Kerk © (2007-04-12 10:14) [14]$blocks[$i] =~ m/"(http:\/\/.+)">(.+)<\/a><br><font.+>(.+<.b>...<\/b>)<br>/isg;
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.045 c