Как извлечь первую картинку из текущей записи в DLE?

vandamme
На сайте с 30.11.2008
Offline
675
1135

ребят, как мне извлечь первую картинку из полного поста в ДЛЕ?

суть такова, чтобы в шаблоне short-story подключать файл {include file="engine/modules/firstimage.php"} который извлекает первую картинку

vandamme добавил 08.06.2010 в 20:47

решил сделать вот так

{include file="engine/modules/firstimage.php?id={news-id}"}

а в функции прописал

$db->query( "SELECT id, title, date FROM " . PREFIX . "_post WHERE id=$_GET['id'] LIMIT 0,1" );

и вылазит ошибка

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in Z:\home\sat.ru\www\engine\modules\firstimage.php on line 3

что делать?

PR
На сайте с 30.12.2007
Offline
140
#1

preg_match("#<img src=[\"'](\S+?)['\"](.+?)>#ie", $str, $match);
  • $str - это текст в котором происходит поиск (содержимое поля full_story).
  • $match[1] - содержит путь к первой найденной картинке.

$db->super_query('SELECT id, title, date FROM '.PREFIX.'_post WHERE id = "'.intval($_GET['id']).'"');
vandamme
На сайте с 30.11.2008
Offline
675
#2

PROGRAMMATOR, разобрался

<?php

$_GET['action'] = $param;
$db->query( "SELECT full_story FROM " . PREFIX . "_post WHERE id='$param' LIMIT 0,1" );
while ( $row = $db->get_row() ) {
preg_match('|<img(.*) src="([^"]*)"[^>]*>|is', $row['full_story'], $pts);
if (isset($pts[2])) echo $pts[2];
else echo "http://sat.ru/uploads/posts/2010-05/1274355274_175651_image_large.jpg";
}
?>
PR
На сайте с 30.12.2007
Offline
140
#3

Рад. Но незачем писать столько кода, запрос, цикл - это все делается тем запросом, что я вам привел.

vandamme
На сайте с 30.11.2008
Offline
675
#4

хорошо, попробую завтра

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий