WordPress に SyntaxHighlighter Evolved を導入してみた

ソースコードを表示しようとするのにマシな方法を探していたら、やっぱり SyntaxHighlighter にたどり着きました。

WordPress › SyntaxHighlighter Evolved « WordPress Plugins. に行くと概要とダウンロード先のリンクがあります。SyntaxHighlighter JavaScript package by Alex Gorbatchev を使用しているので、サポートされている言語もこのパッケージに依存しているようです。http://alexgorbatchev.com/wiki/SyntaxHighlighter:Brushes でサポートされている言語を確認できます。

このサイトでは、PHP, Javascript, SQL あたりで用が足りるので仕様としては十分要求を見たしているので実装することにしました。

と言っても、他のプラグインと同じくWordPress のプラグイン・ディレクトリ Viper007Bond.com » My WordPress Plugins » SyntaxHighlighter Evolved. からプラグインファイルをダウンロードしてきて、プラグインディレクトリに放り込んで有効化するだけで終了しました。

以下は、サンプルです。

JPEGに付いているexifを活用する

<?php

	$list = getFilelist("./","jpg");
	foreach ($list as $file) {
	    print("<img src=\"".$file."\"><br />");

		$exif = exif_read_data($file);

		foreach ($exif as $key=>$value)
		{
			if($key=="GPSLatitude"){
				$GPSLatHms=$value;
				$GPSLatH = explode("/", $GPSLatHms[0]);
				$GPSLatHms[0] = $GPSLatH[0] / $GPSLatH[1];
				$GPSLatm = explode("/", $GPSLatHms[1]);
				$GPSLatHms[1] = $GPSLatm[0] / $GPSLatm[1];
				$GPSLats = explode("/", $GPSLatHms[2]);
				$GPSLatHms[2] = $GPSLats[0] / $GPSLats[1];
			}
			if($key=="GPSLongitude"){
				$GPSLongHms=$value;
				$GPSLongH = explode("/", $GPSLongHms[0]);
				$GPSLongHms[0] = $GPSLongH[0] / $GPSLongH[1];
				$GPSLongm = explode("/", $GPSLongHms[1]);
				$GPSLongHms[1] = $GPSLongm[0] / $GPSLongm[1];
				$GPSLongs = explode("/", $GPSLongHms[2]);
				$GPSLongHms[2] = $GPSLongs[0] / $GPSLongs[1];
			}
		}

		print( "Latitude =".Hms2Deg($GPSLatHms)."<br />");
		print( "Longitude =".Hms2Deg($GPSLongHms)."<br />");

		print("<a href=\"http://www2.msmc.biz/map/works.html?lon=".Hms2Deg($GPSLongHms)."&lat=".Hms2Deg($GPSLatHms)."&zm=17\" target=\"_blank\">地図で確認</a><br />");

	}

function Hms2Deg($GPSHms){

	$GPSDeg = $GPSHms[0] + $GPSHms[1]/60 + $GPSHms[2]/3600;
	return $GPSDeg;
}

function getFilelist($dir,$filetype){
$d = dir(realpath($dir));	//ディレクトリ
$fName = array();
$i = 0;

while (false !== ($entry = $d->read())) {
	if (preg_match("/\.$filetype/i", $entry)) {
		$fName[$i] = $entry;
	}
	$i++;
}
$d->close();
return $fName;
}

?>

No related posts.

This entry was posted in TIPS. Bookmark the permalink.

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">