[PHP] preg_match_all の mbstring版

前置き・・・preg_match_all関数について

preg_match_all は、同一の文字列から何度でもマッチする文字列を検出してくれる関数。

 例
  検索対象: Hello, I am Nancy.
  検索パターン: /[^\s]+/
   ※ 正規表現で [スペースでないものが続く文字列] って意味です。

 結果
  Hello,
  I
  am
  Nancy.

のように帰ってくる関数です。(ほんとはちょっと違うけど)
preg_match関数だと、最初の Hello, しか見つけてくれないので何度も出現する場合に重宝します。
でも、悲しいけどこれってマルチバイトに非対応なのよね。

そんなわけで、通常は mb_ereg 関数などのマルチバイト対応関数を使うんですが、それには preg_match_allのような関数がないので、どうするかってのが本題です。

More
[PR]
# by golorih | 2007-11-20 11:12 | ソフトウェア開発 | Trackback | Comments(0)

StarSuite8(@GooglePack)のインストーラパッケージが欲しいのです

StarSuiteがGooglePackで無償配布されるということで、こいつぁめでてぇや!
最近は PowerPoint や MS-Access がパソコン買ってもついてないので、非常にありがたい。

まぁOpenOfficeでもいいのですが、
 ・追加フォントが少ない
 ・テンプレートやクリップアートなどの素材が非常に少ない
 ・Base(データベースソフト)がない(ご指摘を受け修正しました。2007/9/22)
といった制限もあり、特にPowerPointを使う上では、
素材がないと作るのが大変になるのです。

で、StarSuiteですが、インストール方法はGoogleUpdater経由のみ。
ところが、ネットに繋げない現在の職場で使えないのです。
そこで、GooglePackがダウンロードしているであろう、
インストーラパッケージを取得して、職場のPCに入れようかという試みました。
あ、ちなみに Windows版の話です、念のため。



1.GooglePackのダウンロード&インストール。
2.ネットに繋がるPCで普通にGooglePack経由でダウンロード開始。
3.下記のフォルダをいつでも開けるように準備。
   C:\Documents and Settings\All Users\Application Data\Google Updater\cache
4.GooglePackのステータスを見て、ダウンロード状況をチェックしましょう。
e0051410_139544.jpg


5.ダウンロードが完了したら、前述のフォルダを見てみましょう。
  下記のようなファイルが出来ています。
  installers_ci_so_ja_8.0.9189.0_setup.exe
e0051410_1392063.jpg

  (※ 表示されるまでちょっと時間がかかる場合があります)

あとは、これをいろんなPCで実行すればOKです。




<検索用キーワード>
GooglePack, Googleパック, インストーラ, インストーラパッケージ, バイナリパッケージ, StarSuite, StarOffice, OpenOffice
[PR]
# by golorih | 2007-08-26 13:13 | ソフトウェア関連 | Trackback | Comments(2)

Auto Zip Attachments for Thunderbird 0.5.4 の不具合

Auto Zip Attachments for Thunderbird 0.5.4
 https://addons.mozilla.org/ja/thunderbird/addon/4003
 Mozilla Thunderbirdで添付ファイルを自動圧縮してくれるありがたいソフト。


試してみましたが、まだ日本語ファイル名への対応がちゃんとできてません・・・
 テスト環境
  Windows XP SP2
  Mozilla Thunderbird 2.0.0.5

【添付ファイル名】
 英文交じりの文書.doc

でテスト。
とりあえず圧縮はされたけど、圧縮ファイル内のファイル名が

 英文交じりの

だけになってる。「文」の字が処理できなかったらしい。


それだけならまだしも(Word / Excel は拡張子がなくてもなぜかダブルクリックで開いてくれるので)、

【添付ファイル名】
 文書英文交じりの.doc

という、認識できない文字が先頭に来るケースでは、Thunderbirdごと異常終了します。ぎゃふん。


「文」の他にも、全角カタカナの「リ」もだめでした。いちおう、0.5.2で
> - Added full localization for:
> Dutch, Italian, Japanese, Polish, Spanish.
とはなってますが、まだ完全対応できてないようです・・・

今回は導入見送りです。
[PR]
# by golorih | 2007-07-21 14:31 | ソフトウェア関連 | Trackback | Comments(0)

g4lを使ってみる(書きかけ)

g4l (Ghost for Linux)



作者サイト:http://freshmeat.net/projects/g4l/
SourceForge:http://sourceforge.net/projects/g4l/
レポのページ:http://www.pcquest.com/content/linux/2005/105041202.asp (英語)

ブートCD用のisoイメージのサイズがでかい。32,387,072Bytesもある。
作者サイトはダウンロード遅い(30~40KB/sec)。
SourceForgeから落とした方が速いかも。


特徴
・ネットワーク経由でftpサーバにバックアップ&復元可能
・FTPサーバが2GB以上のデータを扱えない場合、分割して保存可能
・空き領域を0x00で埋める処理をg4l上で行える
・NTFSにも対応(どの程度かは現時点では不明)
・クライアントサーバモードがある模様。何が出来るか不明。

g4uに比べて
・g4uで起動できなかったPCでも CDブートに成功
・FDは非対応

だめぽ
・公式ドキュメントがしょぼい。っつーかコレバージョン違わなくね?
・ましてや英語サイトの情報すら少ない。
・ましてや日本語の情報もない。
[PR]
# by golorih | 2005-09-02 13:37 | ソフトウェア関連 | Trackback | Comments(0)

g4uを使ってみる

g4u (http://www.feyrer.de/g4u/[英語])





g4uとは


g4u とはディスクイメージをftpサーバ上に転送するソフトウェアだ。
なお、g4uという名称は Ghost for Unux から由来している。
ところで、自慰 for you とか考えちまったオレは死んだ方がいいのかもしれませんね。


バックアップを取ったり、PCのクローンを作成したりする場合に使う。
HDDのデータを完全にバックアップするソフトウェアなので、どのOSでも使える。
ほんとはWindowsServerのRIS(RemoteInstallService)を使えばよかったんだけど、色々と事情があってこっちを使うことになった。



準備1.起動ディスクの作成


g4uはFD(2枚)またはCDブートで起動するプログラムなので、起動ディスクを作っておきます。
リンクが張ってあるので4. Using itあたりに作成手順やダウンロードリンクが張ってあるので入手&作成しておきましょう。


ただし注意点として、ここで配布されているイメージから作成したFDやCDからは起動できないパソコンが少なからず存在するようです。
パソコンAではFD/CDともブート不可であったし、パソコンBではCDブート不可、FDブート可であったり。
おそらくBIOSの対応ができていないのが原因なので、そのパソコンのBIOSのアップデートが配布されている場合は更新してやるとブートするようになるかもしれません。

なお、UltimateBootCD(http://www.ultimatebootcd.com/) というツール群にg4uも入っているので持ってない人は作っておくと便利です。
このブートCDには、memtest86やハードディスクの診断ツール、その他聞いたこともないような様々なソフトが同梱されているもので、トラブル時に非常に役立ちます。

UltimateBootCDからg4uを起動させた場合ならば起動ができるパソコンも存在するような雰囲気です。

まぁ結局UBCDでも ウチのパソコンは全滅でしたが orz。
 パソコンA:ブートしそうな気配を見せたのだが、The operating system has halted.Please press any key to reboot.などと出てきて起動できず。
 パソコンB:画面すら表れない。

ダメ元で試すよろし。




準備2.DHCPサーバ


FD/CDから起動したg4uはDHCPを利用してIPアドレスを取得します。ルータに付いてるのでも何でもいいので、DHCPが使えるようにしておきましょう。



準備3.ftpサーバの設定


ftpサーバの設定をしておきます。どんなftpサーバでもいいです。

g4uではftpサーバへログオンする際に、installというユーザーからログオンしようとしますので、サーバにinstallというユーザーを作成しておいてください。

※注意
5.7 Problems with images at 2GBにも説明がありますが、ftpサーバによっては2GBまでしか受け付けない物があります。っていうかむしろ2GBまでしかサポートしていないサーバソフトの方が多い雰囲気。
圧縮後のディスクイメージが2GBを超えそうな方は予め色々試してみましょう。
当方では、FedoraCore2に付属していたvsftpdを最初に試しましたが、2GB超のアップロードは成功するものの、ダウンロードは2GBを超えた辺りで転送量が0kb/sになりました。最新版(2.0.3)も試したけど同様でした。
proftpd(1.2.5rc1だと思う)も試しましたがダメ。
結局当方ではWindows2000ServerのIISを利用しております。これなら2GB超もいけます。ただし、4GB超は不可だという記述をどこぞで見かけたので(検証してない)あんまり大きいのは無理かもしれません。

だれかLinuxで2GB超に対応できるftpデーモンを教えてください。




イメージ作成手順


1.OSのインストール、アプリケーションのインストール、設定などを行います。
2.ディスクの空き領域にあるデータを0x00で埋め尽くします。
 g4uは単純にハードディスクのデータを根こそぎ読み込み→圧縮→転送するだけなので、使っていない領域のデータすら取り込んでしまいます。なので、これらのデータを一度0x00や0xffに書き換えてやらないと圧縮率が非常に悪くなりますので必ずやっておきましょう。



◆空き領域のデータ消去の方法
 http://www.feyrer.de/g4u/#shrinkimgに解説してありますのでunix系の人とかはこの辺を嫁。

 ここでは上記に記述されていない方法を紹介しておきます。
 NTFS形式の場合の対処法です。
 NTFSでは小さなファイルの保存形式が特殊であったりするため、削除したデータの完全消去は難しそうなのですが、Microsoftが提供する消去ツールがありました。
 cipher.exe というので消去できます。Windows2k/XPでちゃんとサービスパックとか充ててたら使えるはずです。
 コマンドプロンプトあたりを起動して、cipher /w:c:(Cドライブが対象の場合)とすると消去が始まります。これをすると、
  1.空き領域を0x00で埋め尽くす
  2.空き領域を0xFFで埋め尽くす
  3.空き領域をランダムデータで埋め尽くす
 という3ステップを行なってデータの復元ができないようにするものです。
 ただし、ランダムデータなどで埋め尽くされようものなら、圧縮するのに都合が悪いので、ステップ1が終わり、2に移行したら、Ctrl+Cで中断させてください

e0051410_1274529.gif





(続き)
3.Windowsを使っていて、ボリュームライセンスではない場合は、ここでriprepを使っておきましょう。
4.g4uを起動します。FDなりCDなりから起動してください。
 ディスク丸ごとのイメージを作成する場合、uploaddisk ftpserver'sIPaddress filename.gz のように入力します。
 例えば、ftpサーバ(192.168.0.1)に VAIO.gz というファイル名で保存したい場合は
  uploaddisk 192.168.0.1 VAIO.gz
 と入力してEnter。
 すると192.168.0.1のftpサーバにinstallユーザーで接続、パスワードの入力を求められます。パスワードを入力し終えると転送開始します。

 当方の場合、最初は1MB/secもいかなかったりしますが、そのうちスピードが徐々に上がってきます。それでも時間がかなり掛かりますので、帰る前とか寝る前にやっておくと吉。


 あとパーティション毎にUPすることもできるけど検証してないのでここでは紹介しません。



ディスクイメージの書き込み


 先ほどの手順で作成したディスクイメージから書き込みする方法です。

 1.g4uを起動
 2.slurpdisk 192.168.0.1 VAIO.gz のように入力しEnter。
 3.installユーザーでログインするのでパスワードを入力、以上。

 この際、ftpサーバが2GB以上のファイルに対応していないと途中で止まって転送速度の表示がどんどん落ちていきます。そうなったらもう中止するしかないです(Ctrl+Cで中断)。

 HDD20GBで100MのLANのノートパソコンで、45分程度で完了しました。




こんな感じ。参考になる人が居るのか不明ですが。

現在、業務で同じ種類のパソコンが何十台とあるので、初期のイメージを作成するのに利用してます。



追記1.後日、g4l (Ghost for Linux) というソフトがあることを知った。2GB以上になるイメージは分割保存することができるらしい。そのうち試してみよう。
追記2.g4uが起動できなかったPCでもg4lなら起動できた。それに色々多機能っぽい。ただ、まともなドキュメントが無いので色々試してみないとよくわからん。
[PR]
# by golorih | 2005-08-30 11:29 | ソフトウェア関連 | Trackback | Comments(0)

文字化けしたファイル名の変換方法

Linuxで作成したtarファイルをWindows解凍したところ、全角のファイル名が文字化けした。
直す方法を模索していたが、Windowsではchange_textが便利。


画面はこんな感じ。

e0051410_164931100.jpg



1.EUC(Linux)→シフトJIS(Windows)への変換を指定する意味で、検索の入力欄に [:euc2sjis:] と入力
2.ファイル名およびディレクトリ名(=フォルダ名)のみを対象とするので、ファイル名、サブディレクトリ名のみチェックを付ける
3.文字コード変換対象となるファイルをフォルダごと一括登録するため、''フォルダ''ボタンを押して対象を指定
4.''対象を追加'' ボタンを押すと下のリストに追加される
5.''開始'' ボタンで変換開始。なお、途中中断はできないようになっている。


ためしたら、

全然使えねぇことが発覚 orz


適切に変換できないファイル名が多すぎる。おまけに元に戻せねぇ・・・

samba → windows の時点で、表示できない文字の一部が別の文字コードに変換されちゃってるのかもしんねぇな(検証はしてません)。

やっぱLinux上からsamba経由でシコシコやるっきゃないんかなぁ。


検索用キーワード:Windows , Linux , EUC , EUC-JP , Shift-JIS , シフトJIS , UTF-8 , UTF , ユニコード , 文字化け , ファイル名 , フォルダ名
[PR]
# by golorih | 2005-08-17 16:54 | ソフトウェア関連 | Trackback | Comments(0)


システム関連の個人的な備忘録。基本的にWindows関連です。

プロフィール

関連


Memoる

一生懸命だと知恵が出る
中途半端だと愚痴が出る
いい加減だと言い訳が出る

「やりたい」なんて言葉は使う必要が無い。「今やってる」「もうやった」「やらないことにした」なら使って良い。
まずは相手を好きになる、その次に相手のいい部分を探す、そして評価できる部分を見つける。それからです、誉めるのは。

カテゴリ

全体
ソフトウェア関連
ソフトウェア開発
Linuxサーバ
その他
Webサービス
MySQL
システム管理
test
バッチファイル
つぶやき
パソコンメーカー
jQuery
レビュー
実験と検証
セキュリティ対策
YahooPipes
vbs
ハードウェア関連
WordPress
JavaScript
HTML&CSS
Welcart
未分類

以前の記事

2016年 12月
2016年 10月
2016年 08月
2016年 07月
2016年 04月
2016年 03月
2016年 01月
2015年 12月
2015年 11月
2015年 10月
2015年 09月
2015年 08月
2015年 07月
2015年 06月
2015年 05月
2015年 03月
2015年 01月
2014年 11月
2014年 10月
2014年 09月
2014年 08月
2014年 06月
2014年 05月
2014年 04月
2014年 03月
2014年 02月
2014年 01月
2013年 12月
2013年 11月
2013年 10月
2013年 09月
2013年 08月
2013年 07月
2013年 06月
2013年 05月
2013年 04月
2013年 03月
2013年 02月
2013年 01月
2012年 12月
2012年 11月
2012年 10月
2012年 09月
2012年 08月
2012年 07月
2012年 05月
2012年 04月
2012年 03月
2012年 02月
2011年 11月
2011年 10月
2011年 09月
2011年 06月
2011年 05月
2011年 04月
2011年 03月
2011年 02月
2010年 12月
2010年 11月
2010年 10月
2010年 09月
2010年 08月
2010年 07月
2010年 06月
2010年 02月
2009年 12月
2009年 10月
2008年 12月
2008年 06月
2008年 05月
2008年 04月
2008年 03月
2008年 01月
2007年 12月
2007年 11月
2007年 08月
2007年 07月
2005年 09月
2005年 08月

お気に入りブログ

最新のコメント

>朝から >自宅の環境..
by Troro at 23:29
試した結果、記事の方法で..
by Tororo at 23:18
ONUに直接PCを接続す..
by 朝から at 07:18
実は私のキーボードもJと..
by 元群馬県人(現在九州人) at 08:48
>たぶんPC直結時に i..
by 11 at 17:44
僕の所はHGWとONUの..
by waka at 02:15
auひかり乗り換える前に..
by ふぅ~ at 14:49
ご教授ありがとうございま..
by 悩めるオッサン at 13:39
> 悩めるオッサン X..
by skn12 at 23:59
らっとさん、私が使ってい..
by IPアドレス変更したい at 07:40

人気ジャンル

ファン

記事ランキング

ブログジャンル

ネット・IT技術

画像一覧