lynx   »   [go: up one dir, main page]

タグ

正規表現とphpに関するfermiのブックマーク (5)

  • preg_splitで検索キーワードをスペース分割して配列に入れる方法 - hogehoge foobar Blog Style Beta

    preg_splitを使用すると、指定した正規表現によって文字列を区切って配列を作ってくれます。 サイト等で入力された検索キーワード等をスペースで区切って検索条件の設定をするのにスゴク便利に使えます。 が、ちょっとだけ落とし穴があったので、備忘録として書いておきます。 preg_split使用のダメな例 以下のコードは2つの問題を含んでいます。 preg_splitで全角スペースも含めて分割しているが、preg_splitは全角文字に未対応のため、文字化けが発生する。 連続したスペースが入力された場合、配列に空文字(null)が設定される場合がある。 1.の問題点は、事前に全角→半角変換を行うことで対処できます。 2.の問題点は、正規表現の書き方 or preg_splitのオプションパラメタで対処できます。 コードサンプル(ダメな例) <?php $ary_keyword = preg_

    preg_splitで検索キーワードをスペース分割して配列に入れる方法 - hogehoge foobar Blog Style Beta
  • [PHP] mb_ereg()じゃない、preg_match_all()に/uをつけるんだ!

    ウノウラボ Unoh Labs: PHPのちょっとしたコツ  最近のスクリプト言語は機能が多く、基的な機能はほとんど実装されているので、アルゴリズムをどうこうするより、どの機能を使うか選ぶ方が重要だったりしますね(コーディングの効率的にも)。  自分にもそういったレベルで気をつけていることがいくつかあります。 -[早起き生活]PHPのパフォーマンスチューニング -[早起き生活]PHPのパフォーマンスチューニング その2:count()も使い過ぎると重くなる -[早起き生活]PHPのパフォーマンスチューニング その3:APC投入  あと、最近気づいたTIPSとしては、 日語を正規表現検索したいときでもereg系の関数を使うのはやめとけ なんてのもあります。  PHPの組み込み正規表現関数にはPHP独自のereg系とPerl互換のpreg系がありますが、ヘルプに書いてあるとおり、ereg系

  • PHPで日本語を含む文字の正規表現マッチング

    PHPで日語を含む文字列の正規表現マッチングで戦うこと3時間・・・ やっとできた・・・ 「[PHP] mb_ereg()じゃない、preg_match_all()に/uをつけるんだ!」(Information Flow and Stockさん)のブログを参考にしてやっとできた… ↓以下Information Flow and Stockさんのブログから引用 preg_match_all('/[一-龠]+|[ぁ-ん]+|[ァ-ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+/u', $strToSplit, $aMatches);

  • 正規表現まとめサイト | エンタープライズ | マイコミジャーナル

    Smashing Magazine - WE SMASH YOU WITH THE INFORMATION THAT WILL MAKE YOUR LIFE EASIER, REALLY. 文字列を処理するにあたって正規表現は欠かせない機能といえる。任意の文字列やテキストファイル、HTML/XMLから特定のキーワードを検索したり取り出し、置換をおこなうにあたって、正規表現が使えると使えないのとでは、プログラミングの手間やツールの活用度合いが変わってくる。 正規表現は便利で強力な機能だが、その独特の表記方法はプログラマ初心者には敷居の高いものでもある。Glen Stansberry氏による正規表現に関するチュートリアルや資料、ツールなどのまとめがSmashing MagazineにEssential Guide To Regular Expressions: Tools and Tutori

  • 「すべての漢字を取り出す正規表現」をPHPで試す、を正しく行う:phpspot開発日誌

    Information Flow and Stock: [PHP] mb_ereg()じゃない、preg_match_all()に/uをつけるんだ! なので、できる限りpreg系の関数を使いたいわけですが、検索対象や検索パターンに日語が含まれているときは、日語処理に対応したereg系の関数であるmb_ereg系の関数が使われることが多いようです。 以前、「すべての漢字を取り出す正規表現」をPHPで試す、を正しく行う方法。 以前はmb_eregによる方法を示しましたが、次の方法の方がうまく動作するようです。 preg_match_all('/[一-龠]+|[ぁ-ん]+|[ァ-ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+/u', $strToSplit, $aMatches); print_r($aMatches); // マッチ結果が全出力 確かに、なぜか取れない漢字があ

  • 1
Лучший частный хостинг