Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Как извлечь url картинки из текста с помощью PHP?

Как извлечь url картинки из текста с помощью PHP?


     16.02.2016    Общие вопросы по PHP    577

вопрос
Добрый день. Из столбца short_story в таблице dle_post нужно извлечь url первой картинки.

Код который извлекает весь текст из short_story
$query = $db->query("SELECT short_story,title,id FROM " . PREFIX . "_post,  " . PREFIX . "_post_extras WHERE category='$category' AND approve='1' ORDER BY $order DESC LIMIT $limit");


Передаем в весь текст в переменную $short_story
$short_story = $row['short_story'];


Имеется выражение которое вылавливает url картинки из текста. Но так как не профи в PHP немогу понять что и куда.
if (preg_match_all('/<img(?:\\s[^<>]*?)?\\bsrc\\s*=\\s*(?|"([^"]*)"|\'([^\']*)\'|([^<>\'"\\s]*))[^<>]*>/i', $text, $m))
print_r($m[1]);


Как все это соединить что бы получить переменную $short_story со значением изображения

Ответил: ПафНутиЙ


if (preg_match_all('/<img(?:\\s[^<>]*?)?\\bsrc\\s*=\\s*(?|"([^"]*)"|\'([^\']*)\'|([^<>\'"\\s]*))[^<>]*>/i', $short_story, $m))
print_r($m);

Комментарии пользователей (2)

Gungnir
16 | 4

Gungnir - 16 февраля 2016 16:02 - Юзер

Это все да, но как сначала обработать а потом вывести

Сейчас так. И этот код выводит все подряд (текст и изображение)
$short_story = $row['short_story'];

if (preg_match_all('/<img(?:\\s[^<>]*?)?\\bsrc\\s*=\\s*(?|"([^"]*)"|\'([^\']*)\'|([^<>\'"\\s]*))[^<>]*>/i', $short_story, $m))
print_r($m);

$allcat .= str_replace("%%","$nomer2$nomer3 [b][url=".$config['http_home_url']."index.php?newsid=".$row['id']."]$title [/url][/b]. <br>$short_story<br><br>",$str);

Gungnir
16 | 4

Gungnir - 18 февраля 2016 11:00 - Юзер

Не знаю правильно или нет, но работает.

$short_story = $row['short_story'];

if (preg_match_all('/<img(?:\\s[^<>]*?)?\\bsrc\\s*=\\s*(?|"([^"]*)"|\'([^\']*)\'|([^<>\'"\\s]*))[^<>]*>/i', $short_story, $m));

foreach($m as $value)
{

}

$str="%%";
$allcat .= str_replace("%%","$nomer2$nomer3 [b][url=".$config['http_home_url']."index.php?newsid=".$row['id']."]$title [/url][/b]. <br><img src=$value[1]><br><br>",$str);

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы