PHP ブログ記事からサムネール画像を自動抽出する
「Web 開発」に関連する記事一覧


PHP ブログ記事からサムネール画像を自動抽出する

2018/10/08 09:00
PHP ブログ開発 

PHP でブログ記事から記事のサムネール画像を自動抽出できるようになったらサムネール画像登録の手間が省けて楽だなと思い、img タグの src の中身を取得する関数を作ったらうまく自動抽出できるようになったので、ソースコードを載せておきます。

public function findFirstImgSrc($article)
{
	$targetTag = '<img';
	$imgStartPos = strpos($article, $targetTag);
	if ($imgStartPos === false)
	{
		return null;
	}

	$imgStart = substr($article, $imgStartPos + strlen($targetTag));
	$imgSrcStartPos = strpos($imgStart, 'src="');
	if ($imgSrcStartPos === false)
	{
		return null;
	}

	$imgSrcStart = substr($imgStart, $imgSrcStartPos + strlen('src="'));
	$imgSrcEndPos = strpos($imgSrcStart, '"');
	return substr($imgSrcStart, 0, $imgSrcEndPos);
}

ついでに Youtube 動画が埋め込んである記事からは Youtube 埋め込みタグに使われている iframe の src を取得したかったので、そちらも対応したソースコードも載せておきます。

public function findFirstImgSrc($article)
{
	return $this->findFirstSrc($article, "img");
}

public function findFirstIframeSrc($article)
{
	return $this->findFirstSrc($article, "iframe");
}

private function findFirstSrc($article, $tagName)
{
	$targetTag = '<img'.$tagName;
	$tagStartPos = strpos($article, $targetTag);
	if ($tagStartPos === false)
	{
		return null;
	}

	$tagStart = substr($article, $tagStartPos + strlen($targetTag));
	$srcStartPos = strpos($tagStart, 'src="');
	if ($srcStartPos === false)
	{
		return null;
	}

	$srcStart = substr($tagStart, $srcStartPos + strlen('src="'));
	$srcEndPos = strpos($srcStart, '"');
	return substr($srcStart, 0, $srcEndPos);
}


    このエントリーをはてなブックマークに追加  

にほんブログ村 デザインブログ グラフィックアートへ

0.0524 sec

Copyright(C)2006-2018 wsp All Rights Reserved