プログラム置き場

ソースをハイライトで表示する関数

readf("ソースファイル");
<?php
function readf($name) {
$str = file_get_contents($name);
$str =htmlspecialchars($str);
$str = nl2br($str);

$head_str = "<table border=\"0\" cellspacing=\"1\" cellpadding=\"2\" bgcolor=\"#000000\">
<tr>
<td><font color=\"#00FF00\" style=\"font-size:17px\">";

$foot_str ="</font></td></tr></table>";

return $head_str.$str.$foot_str;
}

?>

使い方:


require_once("./source.php");

まずどこかでこのphpを読み込みます。
そして、ソースを表示したいところで

echo readf("表示したいプログラムソース");

とすればハイライトした状態でソースが表示されます。

文章中に含まれるURLをリンクにして表示する関数

urllink("テキストファイル");
<?php
function urllink($name){
$str = file_get_contents($name);
$str = nl2br($str);
$str = ereg_replace("(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)", "<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a><BR>" , $str);
return $str;
}
?>

使い方:


urlをリンクに変えたい文章をいれたいところで
echo urllink("テキストファイル");
とすればその文章のリンクがクリック可能になって表示されます。

動作サンプル:

link.txt(UTF-8)を表示させた結果

http://google.com

http://google.co.jp

googleのメールサービスhttp://gmail.com

GoogleChartAPIを使ってメーターを表示する関数

ometer(値,メーター最小値,メーター最大値,ラベル);
<?php
function ometer($data,$min,$max,$label){

$head="<img src=\"http://chart.apis.google.com/chart?";
$middle="chxr=0,".$min.",".$max."&chxt=y&chs=300x150&cht=gm&chds=".$min.",".$max."&chd=t:".$data."&chl=".$label."\"";

$foot=" width=\"300\" height=\"150\" >";

return $head.$middle.$foot;
}

?>


説明:


googlechartAPIを使ってメーターを表示します。

動作サンプル:

echo ometer(25,0,70,Temperature);を表示させたところ

google_apiをつかった数式の埋め込み(java)

詳細はこちら

メールアドレスを画像として表示する

説明

emailアドレスをeimg.php?ac=アカウント&host=ホスト名として受け取ったらpng形式の画像を返します。
使用にはフォントファイルとGDが必要です。
ソース参考元

動作サンプル

superokayamaのシステムを使う

html形式の張りつけコードを生成します。
使いたいメールアドレス: @
張りつけサンプル



<?php

function checktext($TEXT){
if(mb_strlen($TEXT) > 40){
return( "text too long");
}
if ( !preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $TEXT)) {
return( "not email addres");
}
return($TEXT);
}


Header ("Content-type: image/png");

//フォントサイズ
$font_size = 11;

//角度
$font_angle = 0;

//TTFフォントのパス(適時利用するフォントへ変更)
$font_path = "./sazanami-gothic.ttf";

//組込み位置(X座標)
$tx = 5;

//組込み位置(Y座標)
//左下角が基準点になることに注意
$ty = 17;

//組み込みテキスト
if(!$_GET['ac']){
$ac_text ="acount";
}else{
$ac_text = $_GET["ac"];
}
if(!$_GET['host']){
$host_text ="host";
}else{
$host_text = $_GET["host"];
}

$org_text=checktext($ac_text."@".$host_text);


//GD環境情報取得
$arrInfo = gd_info();


if ($arrInfo['JIS-mapped Japanese Font Support']) {
//GDが対応している場合はUTF-8への変換は不要
$telop_text = $org_text;
} else {
//組込みテキスト
//GDが対応していない場合はUTF-8へ変換して処理を行う
//UTF-8に変換しない場合、文字化けします。
$telop_text = mb_convert_encoding($org_text,"UTF-8","auto");
}

//枠の高さ
$waku_t=23;


//イメージ描画枠作成
$im_len =17+ 7*mb_strlen($org_text);
$im = ImageCreate($im_len, $waku_t);

//背景色
$background = imagecolorallocate($im, 63,63,95);
//テキストカラー
$font_color = ImageColorAllocate ($im, 255, 255, 255);

//テキスト描画
ImageTTFText ($im, $font_size, $font_angle, $tx, $ty, $font_color, $font_path, $telop_text);

//枠の描画
$silver = ImageColorAllocate ($im, 139, 87, 65);
$white = imagecolorallocate($im, 240,240,200);
imagepolygon( $im, array( 0,0, $im_len-1 ,0, $im_len-1,$waku_t-1, 0,$waku_t-1 ), 4,$silver );
imagepolygon( $im, array( 1,1, $im_len-2,1, $im_len-2,$waku_t-2, 1,$waku_t-2 ), 4,$white );

//PNG形式で標準出力へ
Imagepng ($im);

//イメージ破棄(メモリ開放)
ImageDestroy ($im);

?>