logo logo_banner


最近のサイトでよく見るソースをきれいに見せるJavascriptです。

↓これ

<pre class='brush:php'>
	<?php
		$p = "サンプル";
		echo $p;
	?>
</pre>

 

自分のホームページにも導入したいと思っていろいろ探しました。

現在の最新は「SyntaxHighlighter 3.0.83」のようです。

まずダウンロードして適当な場所に保存して解凍

 

ダウンロードファイルはこれ↓

http://alexgorbatchev.com/SyntaxHighlighter/download/download.php?sh_current

 

「ルートディレクトリ/js/SyntaxHighlighter」に保存した場合。

<head>~</head>内に以下を追加


  

	
	
    

 

	  
    
    
    
    
    
    
    
    


ハイライト部分は必須。

 

ソースを表示する場所に以下のように記載すればOK。

'brush:php'の部分は表示する言語によって変更する)

<pre class='brush:php'>
	<?php
		$p = "ようこそ";
		echo $p;
	?>
</pre>

 

意外にカンタン...。

 

その他、テーマ言語オプションを指定できるようです。

英語の説明ページですが、なんとなくでも理解できました。

なんかウレシイ。

 

参考ページ

トラックバック(0)

トラックバックURL:


レンタルサーバーはロリポップで、

Movable Type 4をMT5にアップグレードした。

ついでに

  • ディレクトリ: ルート → ルート/blog
  • 拡張子: .html → .php

に変更した。

 

しかし、前のブログにアクセスがあるため、以下の選択肢を考えた。

  • 古いブログ(MT4)と新しいブログ(MT5)と共存させる。
  • 古いブログ(MT4)にアクセスがあったら、新しいブログ(MT5)に転送させる。

結果、新しいブログに転送させるほうが効率が良いので、

.htaccessに正規表現で以下の事を加えて実現できた。

URLのRewriteというApatchの機能らしい。

 

http://***.com/2010にアクセスがあったら、

拡張子を.htmlから.phpに変更して、

http://***.com/blog/2010/***.phpにリダイレクトする。

 RewriteEngine On
 RewriteCond %{REQUEST_URI} ^/2010.*$
 RewriteRule ^(.*)\.html$ /$1.php [NC,R]
 RewriteRule ^2010(.*)$ /blog/2010$1 [R,L]


とりあえずできたものの、

正規表現というものを使ったことがなく、

理解するまでには時間がかかりそうです。

 

フォルダごとにこのルールを設定するのは大変なので、

課題として、複数のフォルダに対して一度にルールを適用できるようしたいと思います。

 

参考ページ

トラックバック(0)

トラックバックURL:


APIを使って短縮URLを取得して表示したくて、

PHPで変数に入れたURLを短縮して受け取る方法を探して以下のAPIが候補に上がった。

  • tinyurl.com ... 特に何かの登録がいるわけではない
  • bit.ly(j.mp) ... ユーザー登録をしてAPIキーを取得する必要あり
  • goo.gl ... 調査中

tinyurl.comを利用した例

<?php
$url1 = "http://tinyurl.com/api-create.php?url=";
$url2 = "http://hoshiya.biz"; //短縮したいURLを入れる
$url3 = $url1.$url2;
$url4 = file_get_contents($url3); //短縮されたURLを取得
echo "<a href=\"".$url2."\">".$url2."</a>が<a href=\"".$url4."\">".$url4."</a>に短縮されました。";
?>

 

参考サイト
Twitter 短縮URL TinyURLのAPI
http://memorva.jp/memo/api/twitter_tinyurl.php

 

bit.ly(j.mp)を利用した例

<?php
//短縮URLを取得する
function shorten_url($url){

$bitly_user = '******'; //bit.lyに登録したユーザー名を入れる
$bitly_apikey = 'xxxxxxxxxxxxxxxxxxxxxxxxxx'; //発行されたAPIキーを入れる

//j.mpを使いたい場合はbit.lyと入替える
$bitlyurl = 'http://api.bit.ly/shorten?version=2.0.1&login='.$bitly_user.'&apiKey='.$bitly_apikey.'&longUrl='.$url;
$context = stream_context_create(array('http' =>
array(
'method' => 'GET',
'timeout' => 5
)
));
$ret = file_get_contents($bitlyurl,false,$context);
if($ret !== FALSE){
$json = json_decode($ret, true);
if($json['statusCode'] == 'OK') {
$surl = $json['results'][urldecode($url)]['shortUrl'];
return $surl;
}
}
return FALSE;
}

$url = "http://hoshiya.biz"; //短縮したいURL

echo "<a href=\"".$url."\">".$url."</a>が<a href=\"".shorten_url($url)."\">".shorten_url($url)."</a>に短縮されました。";
?>

 

参考サイト
twitter/URL短縮する(bit.ly)
http://hodade.adam.ne.jp/itmemo/index.php?twitter%2FURL%C3%BB%BD%CC%A4%B9%A4%EB(bit.ly)

トラックバック(0)

トラックバックURL:


PHPで$strに入っているシフトJIS以外の日本語を変換するために

$str = mb_convert_encoding($str, "SJIS", "auto");

echo $str;

と記載してページを表示すると

Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unable to detect character encoding in /home/***/public_html/***.php on line ***

とエラー出て文字化けを起こしました。

phpinfo()で仕様を見てもmbstringの欄はenableと有効になっているが

正常に利用ができませんでした.。

 

しかし、mb_language( 'Japanese' );

を加えたら正常に変換され表示ができました(涙)

mb_language( 'Japanese' );

$str = mb_convert_encoding($str, "SJIS", "auto");

echo $str;

 

次からは必ずmb_language( 'Japanese' );をmb_convert_encodingとセットで使おうと思います。

 

参考ページ

php4.3.11でmb_convert_encoding() - PHP - 教えて!goo
http://oshiete.goo.ne.jp/qa/1678660.html

トラックバック(0)

トラックバックURL:


ブログなどでワイポイントアイテムとして使えるタグアイコン
http://bunbun.mods.jp/2010/09/sozai/icon/icon_003/
ブログなどでワイポイントアイテムとして使えるタグアイコン

トラックバック(0)

トラックバックURL:


以下のサイトの説明がとても参考になりました。

トラックバック(0)

トラックバックURL:


  • Ready Boost+Ram Disk(Gavotte Ramdisk)
  • eBoostr

実際どちらが速いのか疑問に思い、

VistaにeBoostrをインストールし、キャッシュドライブにメモリを割り当てました。

  • アプリケーションの起動
  • ブラウザの表示

体感速度は明らかに速い...。

トラックバック(0)

トラックバックURL:


  • Windows Vista
  • Microsoft Office 2007

この環境で昨日まで開けていたファイルが開けなくなった。

  • ローカルに置いたファイルはどれも開ける
  • ネットワーク上の存在するファイルのみが開けない

という症状で、結果からいうと

IEの「インターネット一時ファイル」の場所が正しくなかった

のが原因でした。

 

昨日まで違いはRAM DISKを使用して

  • 環境変数
  • インターネット一時ファイル

を変更していました。

 

今日はRAM DISKからeBoostrに変更してスピードアップを計ったのですが、

その時に環境変数とインターネット一時ファイルの場所がリセットされたみたいです。

 

しかし、

そのリセットされた「インターネット一時ファイル」の場所がおかしく、

それがエクセル・ワード・パワーポイントに影響しているというのが原因のようで、

「インターネット一時ファイル」を以下の場所に変更したら直りました!

c:\Users\ユーザー名\AppData\Local\Microsoft\Windows\Temporary Internet Files\

 

  • メモリ容量が足りません。
  • ○○のファイルが開けませんでした。
  • 誰も使用していないのに、誰かが使用中なので開けません。

などのエラーが出て困り、いろいろ調べて以下のことを試しました。

  • エクセルの「オプション」-「詳細設定」-「Dynamic Data Exchange(DDE)を使用するアプリケーションを無視する」のチェックを外す。

それでもダメでした。

 

困り果ててマイクロソフトに電話しましたが、

有料サポートの類になり、3万円くらいかかるというようなことで、

解決できるかどうかわからないし、

3万円もかかるのならOSごとクリーンインストールも考えましたが、

ワードのみ

  • 作業ファイルを作成できません。環境変数TEMPの設定を確認してください。
  • メモリまたはディスクの空き容量が不足してるため、ドキュメントを開いたり、保存したりできません。
    不要なブックやプログラムを閉じて。メモリの空き容量を増やしみてください。
    ディスクに保存されている不要なファイルを削除して、ディスクの空き容量を増やしてみてください。

というエラーが出たので、

環境変数関連で、原因は違うところにあるのではと思い、

いろいろ調べたら「インターネット一時ファイル」が

エクセル・ワード・パワーポイントのファイルに影響するという記事が見つかり、

解決することができました。

 

参考ページ

Office 2007とInternet Explorer 7.0の密接な関係
http://xwin2.typepad.jp/xwin2weblog/2008/09/office-2007inte.html
Office 2007とInternet Explorer 7.0の密接な関係

トラックバック(0)

トラックバックURL: