[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Немогу отформатировать текст,полученный парсером
Romkij
Для начала код...

<?php 
$text = file_get_contents('http://sait.ru');
$pos = strpos($text, ' <table class="list_song">');
$text = substr($text, $pos);
$pos = strpos($text, '</table>');
$text = substr($text, 0, $pos);

$text = strip_tags($text,'<p>,<td>,<table>');
function myfunc(&$text)
{
$text=trim($text);
$text=str_replace("\n","",$text);
$text=str_replace("\r","",$text);
$text=str_replace("\t","",$text);
$text=stripslashes($text);
return $text;
}
echo iconv("utf-8", "windows-1251",$text);

Вся проблема в том, что необходимая информация, занесенная в переменную "text" выводится не так как нужно...хотелось бы её отформатировать..выводится она в таком виде:
23:00 Что-то Кто-то
22:10 Что-то Кто-то
21:30 Что-то Кто-то
20:30 Что-то Кто-то
-----
а мне необходимо в таком виде:
23:00 Кто-то - Что-то
22:10 Кто-то - Что-то
21:30 Кто-то - Что-то
20:30 Кто-то - Что-то
----
Прошу указать, хотя бы, в какую сторону копать, для реализации данной затеи...
Надеюсь, изложил понятно smile.gif
Заранее спасибо!!



Спустя 16 минут, 4 секунды (12.10.2010 - 21:54) arvitaly написал(а):
Дайте пример совсем исходной строки $text = file_get_contents('http://sait.ru'); вот этой и результат который нужен

Спустя 23 минуты, 44 секунды (12.10.2010 - 22:17) Romkij написал(а):
$text = file_get_contents('http://www.moskva.fm/stations/FM_103.0/20100920');


результат который получаем при парсинге:

Песни за 20 сентября 2010 г.
на Шансон
23:57

Мама, Я Радио Люблю
Леонсия Эрденко
23:55

Сколько Я Ни Старался
Владимир Высоцкий
23:52

Заграничные Конверты
Александр Кальянов
23:50

Как На Грифу Струну
Александр Розенбаум
--------------
а результат который нужен:

23:57 Леонсия Эрденко - Мама, Я Радио Люблю
23:55 Владимир Высоцкий -Сколько Я Ни Старался
23:52 Александр Кальянов - Заграничные Конверты
23:50 Александр Розенбаум - Как На Грифу Струну

и т.д до конца суток - от 00:00 до 23:57

вот как-то так, если что-то не совсем понятно, могу уточнить...

Спустя 22 часа, 21 минута, 46 секунд (13.10.2010 - 20:39) Romkij написал(а):
Тема еще актуальна!
up!

Спустя 11 минут, 40 секунд (13.10.2010 - 20:51) arvitaly написал(а):
Я просил исходный код а не ваше его видение

Спустя 18 минут, 34 секунды (13.10.2010 - 21:09) Romkij написал(а):
Извиняюсь, я просто немного недопонял...
<table class="list_song">
<tr>
<td
class="number">23:57</td>
<td
class="name">
<a
href="http://www.moskva.fm/play/2006/1285012656" onclick="return openPlr(this)" class="pict">
<ins
class="play-out"></ins>
<img
title="" alt="" src="http://img.moskva.fm/covers/33/65/1714765.gif" />
</a>
<p>
<a
href="http://www.moskva.fm/artist/леонсия_эрденко/song_1716208" class="song">Мама, Я Радио Люблю</a> <a href="/collection/add_song/1716208" title="Добавить в сборник" class="add" onclick="return manageSong(this)"></a><br />
<a
href="/artist/леонсия_эрденко" class="artist">Леонсия Эрденко</a></p>
</p>
</td>
</tr>
<tr>
<td
class="number">23:55</td>
<td
class="name">
<a
href="http://www.moskva.fm/play/2006/1285012536" onclick="return openPlr(this)" class="pict">
<ins
class="play-out"></ins>
<img
title="" alt="" src="http://img.moskva.fm/covers/33/20/603220.gif" />
</a>
<p>
<a
href="http://www.moskva.fm/artist/владимир_высоцкий/song_948700" class="song">Сколько Я Ни Старался</a> <a href="/collection/add_song/948700" title="Добавить в сборник" class="add" onclick="return manageSong(this)"></a><br />
<a
href="/artist/владимир_высоцкий" class="artist">Владимир Высоцкий</a></p>
</p>
</td>
</tr>
<tr>
<td
class="number">23:52</td>
<td
class="name">
<a
href="http://www.moskva.fm/play/2006/1285012344" onclick="return openPlr(this)" class="pict">
<ins
class="play-out"></ins>
<img
title="" alt="" src="http://img.moskva.fm/covers/33/31/1251231.gif" />
</a>
<p>
<a
href="http://www.moskva.fm/artist/александр_кальянов/song_1254250" class="song">Заграничные Конверты</a> <a href="/collection/add_song/1254250" title="Добавить в сборник" class="add" onclick="return manageSong(this)"></a><br />
<a
href="/artist/александр_кальянов" class="artist">Александр Кальянов</a></p>
</p>
</td>
</tr>
<tr>
<td
class="number">23:50</td>
<td
class="name">
<a
href="http://www.moskva.fm/play/2006/1285012248" onclick="return openPlr(this)" class="pict">
<ins
class="play-out"></ins>
<img
title="" alt="" src="http://img.moskva.fm/covers/33/87/595487.gif" />
</a>
<p>
<a
href="http://www.moskva.fm/artist/александр_розенбаум/song_838951" class="song">Как На Грифу Струну</a> <a href="/collection/add_song/838951" title="Добавить в сборник" class="add" onclick="return manageSong(this)"></a><br />
<a
href="/artist/александр_розенбаум" class="artist">Александр Розенбаум</a></p>
</p>
</td>
</tr>
<tr>
<td
class="number">23:41</td>
<td
class="name">
<a
href="http://www.moskva.fm/play/2006/1285011684" onclick="return openPlr(this)" class="pict">
<ins
class="play-out"></ins>
<img
title="" alt="" src="http://img.moskva.fm/uimg/artists/72x72/96/96da973f3fc107d0ea595122824fae0d.jpeg" />
</a>
<p>
<a
href="http://www.moskva.fm/artist/стелла_джанни/song_0108973" class="song">Огонек</a> <a href="/collection/add_song/0108973" title="Добавить в сборник" class="add" onclick="return manageSong(this)"></a><br />
<a
href="/artist/стелла_джанни" class="artist">Стелла Джанни</a></p>
</p>
</td>
</tr>


Вот, там продолжается, вплоть до 00:00... кода слишком много, это его часть..он весь идентичен...

А вот так, он выглядит после небольшого форматирования, приведенного в первом посте:
<table class="list_song">
<td
class="number">23:57</td>
<td
class="name">
<p>

Мама, Я Радио Люблю 
Леонсия Эрденко</p>
</p>
</td>
<td
class="number">23:55</td>
<td
class="name">
<p>

Сколько Я Ни Старался 
Владимир Высоцкий</p>
</p>
</td>
<td
class="number">23:52</td>
<td
class="name">
<p>

Заграничные Конверты 
Александр Кальянов</p>
</p>
</td>
<td
class="number">23:50</td>
<td
class="name">
<p>

Как На Грифу Струну 
Александр Розенбаум</p>
</p>
</td>
<td
class="number">23:41</td>
<td
class="name">
<p>

Огонек 
Стелла Джанни</p>
</p>
</td>
<td
class="number">23:36</td>
<td
class="name">
<p>

Рыбацкая 
Вилли Токарев</p>
</p>
</td>
<td
class="number">23:32</td>
<td
class="name">
<p>

Он Называется Друг 
Юрий Белоусов</p>
</p>
</td>
<td
class="number">23:29</td>
<td
class="name">
<p>

Умница 
Михаил Круг</p>
</p>
</td>

Вот.

Спустя 1 час, 3 минуты, 52 секунды (13.10.2010 - 22:13) arvitaly написал(а):
<?php
preg_match_all( '~<td class="number">(.*)</td>.*<a href="http://www.moskva.fm/artist/.*>(.*)</a>.*<a href="/artist/.*>(.*)</a>~Usi', $m[preg_match( '~(<table class="list_song">.*</table>)~si', file_get_contents('http://www.moskva.fm/stations/FM_103.0/20100920'), $m )], $rows ) ;
for ($i=0;$i<count($rows[0]);$i++)
{
echo '<p>' . $rows[1][$i] . ' ' . $rows[3][$i] . ' - ' . $rows[2][$i] . '</p>';
}
?>

Спустя 36 минут, 30 секунд (13.10.2010 - 22:50) Romkij написал(а):
Просто изумительно!!!! так долго парился... спасибо большое!!!
а можете разъяснить, этот скриптик?)

Спустя 9 минут, 46 секунд (13.10.2010 - 22:59) arvitaly написал(а):
Могу, если вы будете разбираться. А это значит задавать нужные вопросы.

Спустя 20 дней, 20 часов, 8 минут, 11 секунд (4.11.2010 - 20:08) Romkij написал(а):
Цитата (arvitaly @ 13.10.2010 - 19:59)
Могу, если вы будете разбираться. А это значит задавать нужные вопросы.

С предыдущим кодом разобрался...
Теперь возник еще вопрос по регулярным выражениям...
имеется строка "...........+++б",
хотелось бы, чтобы начиная с первого "+" включительно,все обрезалось..
пробовал так:
<?php

$filename = "D:\PAR\what.xml";
$handle = fopen($filename, "r");
$contents = fread($handle, 600);
fclose($handle);

echo $contents;
$contents = preg_replace("/[+]/","",$contents);
echo $contents;
?>


добился только того, чтобы убрать все "+" из строки, но как убрать не только плюсы, но и все, что после них....
Пожалуйста, подскажите..заранее спасибо!

Спустя 1 день, 2 часа, 48 минут, 37 секунд (5.11.2010 - 22:56) Romkij написал(а):
Вообщем разобрался сам, всем спасибо!
Кому интересно, решение было таким:

<?php

// получает содержимое файла в строку
$filename = "D:\DJIN\cur_playing.xml";
$handle = fopen($filename, "r");
$contents = fread($handle, 600);
fclose($handle);

echo $contents;
$contents = preg_replace("/[+](.{5})/","",$contents);

echo $contents;
?>


preg_replace("/[+](.{5})/ ---- заменить + и 5 символов после него.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.