Kaduna State Secondary School Teachers Recruitment 2020 / 2021 for Graduates
Read More...
private function get_post_images(int $post_id, string $content): array
{
$images = [];
$added_urls = [];
$count = 0;
if (has_post_thumbnail($post_id)) {
$image_id = get_post_thumbnail_id($post_id);
$url = wp_get_attachment_image_url($image_id, 'full');
if (!empty($url)) {
$url = $this->sanitize_image_url($url);
if (filter_var($url, FILTER_VALIDATE_URL)) {
$images[] = [
'url' => $url,
'title' => $this->sanitize_image_text(get_the_title($image_id)),
'caption' => $this->sanitize_image_text(wp_get_attachment_caption($image_id)),
];
$added_urls[] = $url;
$count++;
}
}
}
if (!empty($content) && $count < 5) {
preg_match_all('/]+(?:src|data-src|data-lazy-src|data-original)=["\']([^"\']+)["\'][^>]*>/i', $content, $matches);
if (!empty($matches[1])) {
foreach (array_unique($matches[1]) as $url) {
if ($count >= 5) break;
$url = html_entity_decode(trim($url));
// Fixed the typo - was 'data:' but had a space
if (empty($url) || strpos($url, 'data:') === 0 || strpos($url, 'blob:') === 0) continue;
if (strpos($url, '/') === 0 && strpos($url, '//') !== 0) {
$url = $this->home_url . ltrim($url, '/');
}
if (strpos($url, '//') === 0) {
$url = (is_ssl() ? 'https:' : 'http:') . $url;
}
$url = $this->sanitize_image_url($url);
if (filter_var($url, FILTER_VALIDATE_URL) && !in_array($url, $added_urls, true)) {
$images[] = ['url' => $url];
$added_urls[] = $url;
$count++;
}
}
}
}
return $images;
}