Приветствую.
Делаю ленту rss для добавления в одну рекомендательную систему, на сайте очень древнем, не wp. Все работает кроме одного пункта.
Я не уверен в правильности действий и получив столько инфы за сутки, голова уже не соображает.
$result = $db->sql_query("SELECT pid, title, hometext, bodytext, date, counter FROM ".$prefix."_pages ORDER BY pid DESC LIMIT ".$limit.""); while (list($rpid, $rtitle, $rhometext, $rbodytext, $rdate, $rcounter) = $db->sql_fetchrow($result)) echo "<item>\n" ."<link>$homeurl/index.php?name=Pages&op=page&pid=$rpid</link>\n" ."<title>".htmlspecialchars($rtitle)."</title>\n" ."<pubDate>".htmlspecialchars(date("D, j M Y H:m:s O", strtotime($rdate)))."</pubDate>\n" ."<description><![CDATA[".html_entity_decode(bb_decode($rhometext))."]]></description>\n" ."<enclosure url=\"$homeurl/".$rbodytext."\" type=\"image/jpeg\"></enclosure>\n" ."</item>\n"; } echo "</channel>\n"; echo "</rss>";
Суть в чем, все работает кроме последней строчки, там должна быть картинка. Но картинка сама в тексте, в переменной $rbodytext
Если начинаю вытягивать регуляркой, то вытягивает из одной статьи и все игнорируя $limit или тупо не работает. Никак не соображу, можно вообще в данной конструкции сделать фильтрацию переменной, оставив только картинки.
Вот это работает, вытаскивает картинку, но как писал выше, не знаю как в эту конструкцию добавить.
preg_match_all('/src=\"(.*?)\"/', $rbodytext, $array); foreach ($array[1] as $item1);
Или вообще так нельзя? Буду благодарен за подсказки, хотя может и криво написал, непонятно)
Привет, Владимир.
В $homeurl -
$rbodytext - текст статьи
<img src="uploads/26/26-t7oMDVVYTt.jpg" alt="" width="150" height="150" align="left" />Но, так уж частенько получается
Непонятно, как заставить это работать не только вытаскивая из одной статьи картинку, а учитывая лимит, во всех работало.
$matches = array(); $pattern = 'src=\"(.*?)\"'; preg_match( $pattern, $rbodytext, $matches );
далее смотри $matches[0] или $matches[1] что выдают
регулярка у тебя верная