ネットサービスの開発に役立ちそうな話題を中心にお届けします。
F.Ko-Jiの「一秒後は未来」 > プログラミング > 半角空白と思ったら  (NBSP) になっていてマッチングしなかった
2009年08月05日 13:32
918日前に投稿

半角空白と思ったら  (NBSP) になっていてマッチングしなかった

  • ... PV
  • このエントリーをはてなブックマークに追加

スポンサード リンク

HTML を PHP の XMLパーサでパースして、タグを strip_tags で取り除いてできた文字列が

Top > カテゴリ1 > カテゴリ2

のようなものだとして、これを「 > 」で分割しようと Ruby で split に正規表現を書いてみたのだけど、なぜかマッチングしない。

str.split(/\s+>\s+/)

よくよく元のHTMLを調べてみると、半角スペースかと思っていたところが実は   だった。

Top > カテゴリ1 > カテゴリ2

これをXMLパーサでパースすると、どうやら   は NBSP という半角空白とは違う ASCII 文字として処理されるらしい。UTF-8だと ASCII コードは \xc2\xa0 となるみたい。なので、

str.split(/(\xc2\xa0)+>(\xc2\xa0)+/)

とすると期待通りに分割できた。

スポンサード リンク

Written by
Meity.jp - Twitterなかまでプライベートなオフ会を開催したいなら


トラックバック

このエントリーのトラックバックURL:

PHP / プログラミング

English version

前のエントリー: « 神奈川新聞花火大会2009
次のエントリー: SuicaやPASMOで前の人がタッチせずに改札を通過すると次の人がひっかかる »

コピペにご利用ください。

タイトル:

URL:

リンク用HTMLタグ: