[PHP]preg_replaceで正規表現を使った置換+後方参照のメモ

php メモ

PHPでたーくさんあるcsvデータを書き換えなきゃいけないことがあったので、正規表現で文字の置換をやってみました。
が、案外難しいというか、PHPも正規表現あんまりわかんなくて結構苦労したのでメモ。

PHPで正規表現で置換を行うときは

  • preg_replace
  • ereg_replace

のどちらかで行います。

違いは・・・

preg_replace・・・Perl互換の正規表現関数を使う
ereg_replace・・・POSIX拡張正規表現を使う

・・・だそうな。(手元のPHP辞書?による)

正直良くわかりませんorz
ネットで調べているとpreg_replaceの情報が多い印象だったので、自分はpreg_replaceを使うことに。

続きを読む

ChromeでPDFファイルをウィンドウ内でAcrobatを使って開くように変更するメモ

メモ

楽天RMSの推奨ブラウザは未だにIE6(6・・・!)だけど、重いし使いづらいしでうちではGoogle Chromeを使ってます。

この間、Chromeのアップデートがあった影響なのか、楽天RMSで出力するご利用明細書をChromeのPDFプラグイン(Chrome PDF Viewer)で印刷すると、変なことに。
左側ののりしろ部分が真っ黒に印刷されるようになってしまったんです。

PDFファイルでは別に黒くなっていないのに・・・・・

印刷するとこんな感じに。
な、なんで・・・orz

続きを読む

IE6、IE7で画像にpタグのマージンが表示されるのを回避する方法

css

コーディングをしていてめっけたのでメモ。
根本的な解決方法がわからなくって、これが解決策ではないような気がするけど、他に方法が見つからなかった〜。

<div>
<img src="/sample/slideshow/images/photo2.jpg" alt="" />
<p><strong>右の画像に&lt;p&gt;のマージンが反映されます</strong><br />
IE6、IE7で見ると、画像の下にマージンが表示されますもんで困るときもある。</p>
</div>

という状態で、画像が枠線ぴったりにはまるようにしたいのに、IE6、IE7だと、<p>に設定したマージンが画像に表示されてしまう模様。<p>の外なのになななななななんでー!
⇒ サンプル

line-height:normal;とか、vertical-align:bottom;とかで解決できる・・・と思ったらできなかった。
マージンが邪魔臭いというわけで、

p{
margin: 0;
padding: 0 0 3em 0;

と変更して解決。なんかむりやりな気がするけど。
⇒ サンプル2

Firefoxで使うアドオン

メモ

自分用メモ。
再インストールしたときとかに見る用に、Firefoxで入れるアドオンをリストアップ。
ちょっと更新したー。

  • Foxmarks
    ブックマークを複数のPC間で同期できる。もちろんMacでもOK。
    Deliciousを使っているのであんまりブックマークは使ってないので出番があんまり無い。
    当初はGoogle Browser Syncを使っていたけど、なくなっちゃったのでこっちに。
  • Firebug
    ウェブ制作には欠かせない。どれかひとつだけって言ったらこれ。
  • Web Developer
    いろいろ検証できる便利ツール。ウェブ製作用。
  • Delicious Bookmarks
    Deliciousの登録とか参照とか。
    登録も参照もスムーズにできて便利。
  • Google Tool bar
    主にサイト内検索とハイライト表示に使ってる。
  • All in One Gesture
    マウスジェスチャで操作できるようになるアドオン。
    ちょっと動作が重いような。
  • Pearl Crescent Page Saver
    サイトのスクリーンショットを撮るためのアドオン。
  • SBMカウンタ
    はてブのコメントを楽しむため。
  • Html Validator for Firefox
    ソースコードチェック用。
  • Download Statusbar
    ダウンロードウィンドウを表示しないでダウンロード状況を確認できる。
  • Tab Mix Plus
    タブ機能を拡張。

PHP+MySQLでページ分けするメモ

mysql php

PHP+MySQLで作っているシステムで、表示件数ごとにページ分けするときに困ったのでメモ。

例えば、1ページ10レコードずつ表示する場合、クエリーを↓のような感じにする。(1ページ目の場合)

クエリー1:
$result = mysql_query("SELECT * FROM `mygoods` LIMIT 10",$link);

これで表示する分のレコードを取得できるけど、ページ分けするには”LIMITがなかった場合に表示対象が何件あるか”がわからないと、正しくページ分けができない。

ので、新たに、

クエリー2:
$num = mysql_query("SELECT `id` FROM `mygoods`",$link);

とかやって、LIMIT無し版のクエリーも送信・・・っていうのがすごくめんどくさいし非効率だし複数条件になった場合に超ややこしいしでどうにかなんないのか!ともって調べて見たら良い方法がありました。

クエリー1を

$result = mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM `mygoods`",$link);

とやっておきます。

そんでもってそのすぐ後に

$num = mysql_query("SELECT found_rows()",$link);
list($num) = mysql_fetch_row($num);

ってやると、$numにLIMIT無しのときに取得できるレコード数が格納されるってわけです。

これならクエリー1を書き換えるだけで臨機応変に表示すべきページ数を変更できるし便利。
いちいちクエリー2のようなのをやるよりも動きが早くシステム負荷は少ないんだそう。

続・iMacをdlnaサーバーにしたかったんだけど・・・できた!

メモ

以前、iMacをdlnaサーバーにするのに挑戦したんだけど、うまくいかなかったやつ。
良いソフトが見つかってなんとかなりました。

PS3 Media Server

こちらの、「PS3 Media Server」というソフト、パッと見PS3用っぽいんだけど、テレビでも使えた!
というわけで、まずはうちの環境。。。

パソコン・・・iMac (Early 2009 / Mac OS 10.6.4)
テレビ・・・Sony Bravia XDL-40F1
ネットワーク:IEEE802.11g

こんな環境。
PS3 Media Serverはv1.20.409-BETAを使用。

起動するとテレビ側からdlnaサーバーとして表示されたので、あとはみたい動画を選ぶだけ。
直接開けない動画はTRANSCODEとかなんとか書いてあるフォルダの中に動画が入っている形になっててそっちから選ぶ。(気づくのに時間がかかった)

設定の仕方とかがちょっとくせのある感じだけど、十分使えます。

トランスコーダー付きでだいたいの動画は見ることができました。
が、テレビ画面のサイズいっぱいで表示ができなかったり、はみ出して表示しちゃったり、思い通りにいかないところもところどころ。。。設定で直るのかな?よくわかんなかったorz

うちはIEEE802.11gで遅いのでデフォルトのビデオ変換設定ではガクガクで見れたもんじゃなかった。
なので、変換設定を「keyint=25:vqmax=5:vqmin=2」に変えました。(変換設定⇒ビデオ品質の設定)
ちょっと画質が落ちてガビガビするけど、問題なく見れます。

写真もバッチリ見ることができて便利になりました〜。

リンク:
PS3 Media Server/ダウンロードはこっち
PS3 Media Serverまとめwiki

HD-CN1.0TU2を分解する

メモ

壊れちゃったHD-CN1.0TU2

バッファローのHD-CN1.0TU2、壊れちゃった。
電源を切らずに電源プラグを抜いちゃうなんてうっかりしてた。

そんなわけで、先日の記事の通りハードディスクは見事にアレしちゃったわけです。(こういう場合はクラッシュといわないんだとか。じゃあなんていえばいいんだよー)

クラッシュ(とはいわないらしいけど)しちゃったようなハードディスクなんてバックアップに使えるものか!そうだ!買い換えてやる!買い換えてやろうじゃないの!価格.comでお得にな!それも中身だけなああああああ!!!

というわけで、ハードディスクを価格.comで一通り物色し「こいつあたりがいいぜ・・・げへへへ・・・今入っているのもサムスンだけどな!大丈夫!きっと大丈夫!」ってなったあと。

じゃあとりあえず分解してみるかとなりまして、調べてみたら見つからない。
HD-CN1.0TU2の分解方法。誰も紹介してくれてない!

ので、まとめてみました。けど、案外簡単だったので、こんなの見なくてもわかるかもね、表カバーとるところが山場なくらいですよね。

続きを読む

アウトドア&フィッシング ナチュラム

こちらもどうぞ

  • iTunesで購入した音楽が認証・再生できないときの対処方法
  • セローにフォグランプPIAA MLSE1を付けたのでレビュー
  • Nikonの標準ズームレンズ24-85mmと24-120mmを比較してみる
  • 親指AFするよー D750の親指AF設定方法
  • ハーレーのミッションオイル交換手順