Показать сообщение отдельно

  #6  
Старый 09.06.2008, 12:17
.:EnoT:.
Постоянный
Регистрация: 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() и конечно сам текст...
 
Ответить с цитированием