
09.06.2008, 12:17
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 850
Провел на форуме: 4832771
Репутация:
1916
|
|
Сообщение от halkfild
тебе нужно конкретнее писать регулярку..
твое
собирает абсолютно всё.. посмотри хтмл и ты увидишь, что там много мусора
нужно конкретнее писать регулярку.
как вариант:
PHP код:
<?php
$str=' <div class="abc">
Какой-то блок текста 1
</div>
<div class="abc">
Какой-то блок текста 2
</div>
<div class="abc">
Какой-то блок текста 3
</div>
<div class="abc">
Какой-то блок текста 4
</div> ';
preg_match_all('/<div class="abc">\s\n(([^<]+))<\/div>/si', $str, $result);
$result = $result[1];
echo '<pre>';
print_r($result);
echo '</pre>';
?>
даст результат
Согласен. Только проблема в том что как ты наверно понял, что у меня между тегами <div></div> не только просто блоки текста, там куча других тегов, таблиц. И всё это нужно отпарсить и потом работать уже с каждым в отдельности
Ну банальный пример:
PHP код:
$str = '<u>
<table border="1"><tr>
<td></td>
<div class="my_class1">Текст1</div>
<td>Другой какой-то текст1</td>
</tr></table>
<img src="img.gif" id="img1" />
<div id="some_id1">Ещё текст1</div>
<a href="1.php">Какая-то там ссылка1</a>
<div id="my_id1">Тоже текст1</div>
</u>
<u>
<table border="1"><tr>
<td></td>
<div class="my_class2">Текст2</div>
<td>Другой какой-то текст2</td>
</tr></table>
<img src="img.gif" id="img2" />
<div id="some_id2">Ещё текст2</div>
<a href="2.php">Какая-то там ссылка2</a>
<div id="my_id2">Тоже текст2</div>
</u>';
preg_match_all('/<u>(.+)<\/u>/si', $str, $a);
echo '<pre>';
print_r($a);
echo '</pre>';
И на выходе должно быть что-то вроде:
PHP код:
Array(
[0]=>my_class1 Текст1 Другой какой-то текст1 img1 some_id1 Ещё текст1 1.php Какая-то там ссылка1 my_id1 Тоже текст1,
[1]=>my_class2 Текст2 Другой какой-то текст2 img2 some_id2 Ещё текст2 2.php Какая-то там ссылка2 my_id2 Тоже текст2,
..etc..
)
Вот в таком духе. Поэтому я и использовал (.+) чтобы получить всю эту ересь в отдельный массив и потом уже с каждым массивом работать, то есть мне отпарсить нужно не только текст, но и все id-шники и классы дивов, ссылок и изображений, ссылки на сами изображения и т.д. вот. Ну проще говоря name, id, классы, src, onclick() и конечно сам текст...
|
|
|