2010年7月29日木曜日

wordでルビ付き文をコピーすると面倒だったので、括弧付き文を削除するスクリプト作成

wordでルビ付き文ファイルが送られてきて、その文をコピーすると、括弧にルビがくくられてこれまで困ってきました。

そこで、正規表現を使って、かっことその中の文字列を削除する簡単なスクリプトを書きましたので、ついでにアップしておきます。

http://labo.web-do.com/php/rubi.php

コードは至ってシンプルです。
$result=preg_replace("/\(.*?\)/","",$text);
みたいに置換しました。

「.*?」という指定、とても便利で気に入っています。
greedyでない検索、置換ができて。

2010年7月25日日曜日

半角24時間表記の数字を、time型に直す方法メモ

MySQLで半角数字にて24時間表記の時間データを格納したテーブルから、
12:00:00型のtime型に変換したくて、試行錯誤しOKだったのでメモです。

UPDATE time_table SET time_field = hour24*10000;
といったように、10000をかけるとOKでした。。

10000をかけるのね。。。。。。
3600とかかけちゃだめなのね。。。

ついでに、仮にminuteという名のフィールドに「分」情報も格納している場合、

UPDATE time_table SET time_field = hour24*10000+minute*100;
という風にすると OKでした。

よかった。

where でis

MySQLでデータ削除する際の備忘録。

delete from hoge where rel_date is null;
といったように、
where something = nullでなく
where something is null
にする。

2010年7月21日水曜日

mb_convert_kanaで変換されなかった。。

mb_convert_kanaを使っても、全角を半角に変換できず,しばし悩みました。

第三引数に文字コードを指定してやると解決。

$zip=mb_convert_kana("0000001","n","utf-8");
みたいな。

変数名の衝突で、はまった。。

とある変数名が,気づかずにバッティングしていて、
その変数名をキーとしたセッション変数になぜか格納され、
とても悩んでいました。
(ローカルでは大丈夫だったのですが、サーバに上げるとだめでした。)

いったい何でだか分かりませんでしたが、
変数名はちゃんと一意にすべきだと再確認。

くわばらくわばら。

2010年7月12日月曜日

gmailからPHPでデータを取得したいのでメモ

http://blog.s3ura.net/2010/04/01/182
にやり方が載っていて、
さっそくやってみたら、blogフィード形式で表示されました。

xmlデータを色々な形で取得できるそうなので、
学習&実験あるのみかな。。

http://gmail.1o4.jp/feed.html
にも情報がありました。


http://homepage.mac.com/travellers/blog/C1152805016/E1566781815/index.html
ラベルごとのフィードも取得できるようですね。


http://googlesystem.blogspot.com/2008/03/feed-for-unread-gmail-messages.html
海外の記事。

http://d.hatena.ne.jp/shimooka/20061202/1165043676
class化してコードを公開しておられるサイト。素晴らしい。。

2010年7月11日日曜日

cookieについての学習メモ

cookieの実装をまだこれまでまともにしたことがありませんでしたので、準備のためのメモです。
最初、jQueryでの実装と思いましたが、XSS脆弱性を少なくするために、やはりPHPを通じての実装にしました。
セキュリティ上問題ないものは、jQueryで行い、セキュリティ上より大事なものは、phpのsetcookie()でいこうかな、と。

setcookie解説ページへのリンクメモです。
http://php.net/manual/ja/function.setcookie.php

2010年7月5日月曜日

SQLiteで書き込みできず困った。。(ディレクトリの書き込み権限付与で解決)

SQLiteで書き込みができずに困った。

原因を検索したら、
http://blog.zuzara.com/2008/02/15/248/

ファイルのあるディレクトリの書き込み権限が必要、ということを読み、
実行したら、あっさり解決。。

ファイルの書き込み権限は変更していたが、
ディレクトリの方は気づかなかった。

解決して良かったが、なんとも悩みました。

2010年7月2日金曜日

SQLiteで携帯対応

SQLiteは基本UTF-8なので、
携帯表示の文字化け対応にちょっと苦労しました。

php.ini
で以下のようにしたらいけました。

output_buffering = On
output_handler = mb_output_handler

default_charset = "Shift_JIS"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order =  SJIS,EUC-JP,JIS,UTF-8,ASCII
mbstring.substitute_character = "none"
mbstring.encoding_translation = On


phpファイルはすべてUTF-8で保存し、
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
のままでいけました。
要するに、全てをUTF-8に統一して、php.iniでブラウザへの出力をSJISにする、
ということでいけるんですね。

(SHOEISHA刊「PHP逆引きレシピ」に書いてあるとおりにやったらいけました。
この本は、本当にありがたい本です。めちゃくちゃお世話になってます。)