2010年12月10日のブックマーク (3件)

  • PHPでマルチバイトの文字数を数える - XOOPS専門-株式会社RYUS

    PHPで文字列の文字数を数える場合,strlen関数を利用して以下のように書きます. php -r '$re = strlen("テスト"); var_dump($re);' 「テスト」は3文字なので3が返るはずです.しかし,このコードの実行結果は9が返ります. これはstrlenがマルチバイトを考慮していない為です.strlenの場合,文字数というよりはバイト数を表示しています. PHPでマルチバイト文字列をカウントするにはmbstringに含まれるmb_strlen関数を使います.以下はmb_stringを利用した場合のコードです. php -r '$re = mb_strlen("テスト"); var_dump($re);' しかし私の環境では,このコードを実行してもやはり9が返ってきました.mb_strlenは与えられた文字列を内部エンコーディングでカウントします.内部エンコーディ

    proxy0721
    proxy0721 2010/12/10
  • さぼてん: 【symfony】CriteriaでBETWEEN句

    Pg職に転職したいWebサイト制作。PHPとかMySQLとか。symfony、CakePHPPerl勉強。 次の様な、"BETWEEN"句の条件付SQLをsymfonyで発行したい時。 /* BETWEEN句を使ったSQL文 */ SELECT * FROM datas WHERE create_ad BETWEEN '2008-09-01 00:00:00' AND '2008-09-30 23:59:59' // 2008年9月中に作成されたデータ symfonyのサンプルだと2つの方法が載っている。サンプルは“「$date1」と「$date2」のどちらかがある期間内に含まれるか”という条件で複雑。 Criteria::CUSTOM 一つは「Criteria::CUSTOM」を使って条件文を直接記述する方法。 /* BETWEEN句 - Criteria::CUSTOMを使った方法

    proxy0721
    proxy0721 2010/12/10
  • ブラウザの戻るボタンで戻ったときに呼ばれるイベントとかキャッシュとかそこらへんのこと - koumiyaの日記

    IEでは戻るボタンで戻ったときにonloadイベントが呼び出されるが、Firefoxでは呼び出されないなどブラウザによって動きが違うようです。 よくある二度押し防止対策として、送信ボタンをクリックしたときにボタンを無効(disable = false)にして次の画面に遷移させるということをやりますが、その後ブラウザの戻るボタンで戻られるとボタンが無効のままで操作できないままになってしまいます。 その対策として、画面を表示したときに無効を解除するという処理が考えられますが、IEではonloadイベントが呼ばれるがFFでは呼ばれないという上記の問題が発生します。 調べてみたところ、戻るボタンとonloadイベント - a geekで紹介されている方法で解決できるみたいです。IEではonloadを使い、FFではpageshowを使い、Safariではonloadとonunloadの合わせ技で戻る

    ブラウザの戻るボタンで戻ったときに呼ばれるイベントとかキャッシュとかそこらへんのこと - koumiyaの日記
    proxy0721
    proxy0721 2010/12/10