Dima83
Новичок
Извлекаем первую картинку из description, если её там нет то из text, если в тексте нет то с поля icon. В поле icon в любом случае она есть. Через getimagesize, получаем width height. Чтобы функция сработала как надо. Нужно чтобы у картинки был полный путь, например.
Как с помощью регулярных выражений проверять строку на причастность https и http, если эти протоколы отсутствуют в ссылке-картинки то подставлять название сайта?
Вот код (использовал simple_html_dom.php, чтобы получить первое изображение).
Но встречаются в базе картинки, у которых путь, вот такой.
Это тоже правильно. Домен сайта сам подставляется если изображение в тексте, но вывести width и height через getimagesize уже не получается.“/img/file.jpg”.
Как с помощью регулярных выражений проверять строку на причастность https и http, если эти протоколы отсутствуют в ссылке-картинки то подставлять название сайта?
Вот код (использовал simple_html_dom.php, чтобы получить первое изображение).
PHP:
function imgShared($t,$date)
{
global $dbh;
try {
$query = "SELECT * FROM data WHERE title_alt='$t' AND date='$date'";
$STH = $dbh->prepare($query);
$STH->execute();
}
catch(PDOException $e) {
echo "2 Обнаружена ошибка. Напишите администратору. $email<br>";
file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
}
$item = $STH->fetch(PDO::FETCH_ASSOC);
$html = str_get_html($item["description"]);
$url = $html->find('img',0)->src;
if($url===null)
{
$html = str_get_html($item["text"]);//загружаем HTML-код
$url = $html->find('img',0)->src;
if($url === null)
{
$url = $item["icon"];
}
}
else
{
$url = $html->find('img',0)->src;
}
list($width, $height) = getimagesize($url);
$img = array("src"=>$url,"width"=>$width,"height"=>$height);
return $img;
}