ロゴ メインコンテンツへ
RSSフィード
「Web 開発」に関連する記事一覧

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

2018/10/08 09:00
(この記事の文字数: 207)

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);
}


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

<<「Web 開発」の記事一覧に戻る

コメント(0 件)



コンテンツロード: 0.0077 sec
Copyright(C)2006-2024 puarts All Rights Reserved