の三記事で、はてなブログの五十音順タイトル一覧を作ってきたのですが、Yahoo! API の「ルビ振り」に2,3問題がありました。
- lass="p-toc u-level3">
- 「ゼロ」がひらがなにならない
- 「十三」がひらがなにならない
「ゼロ」がひらがなにならない
「ゼロ・グラビティ」で試していますが、「ゼロ」だけでも同じです。
object(SimpleXMLElement)#1 (1) { ["Result"]=> object(SimpleXMLElement)#2 (1) { ["WordList"]=> object(SimpleXMLElement)#4 (1) { ["Word"]=> array(3) { [0]=> object(SimpleXMLElement)#6 (1) { ["Surface"]=> string(6) "ゼロ" } [1]=> object(SimpleXMLElement)#5 (1) { ["Surface"]=> string(3) "・" } [2]=> object(SimpleXMLElement)#8 (3) { ["Surface"]=> string(15) "グラビティ" ["Furigana"]=> string(15) "ぐらびてぃ" ["Roman"]=> string(9) "gurabithi" } } } } }
「十三」がひらがなにならない
「十三人の刺客」で試していますが、「十三」→「十三」、「十人」→「じゅうにん」、「三人」→「さんにん」、「十」→「十」となりますので、漢数字が絡みますとうまくひらがなにならない場合があるようです。
object(SimpleXMLElement)#1 (1) { ["Result"]=> object(SimpleXMLElement)#2 (1) { ["WordList"]=> object(SimpleXMLElement)#4 (1) { ["Word"]=> array(4) { [0]=> object(SimpleXMLElement)#6 (1) { ["Surface"]=> string(6) "十三" } [1]=> object(SimpleXMLElement)#5 (3) { ["Surface"]=> string(3) "人" ["Furigana"]=> string(6) "にん" ["Roman"]=> string(3) "nin" } [2]=> object(SimpleXMLElement)#7 (3) { ["Surface"]=> string(3) "の" ["Furigana"]=> string(3) "の" ["Roman"]=> string(2) "no" } [3]=> object(SimpleXMLElement)#9 (3) { ["Surface"]=> string(6) "刺客" ["Furigana"]=> string(9) "しかく" ["Roman"]=> string(6) "sikaku" } } } } }
この2つ以外はうまくひらがなに変換され、五十音順に並べ替えることが出来ました。
01はてなブログ五十音順インデックスその後
実際の「そんなには褒めないよ。映画評」での運用は、前回記事「はてなブログの記事の五十音順タイトル一覧を作るに一ヶ所変更を加えました。
タイトルに全角数字を使用したものがありましたので、インデックスに全角数字を追加しました。
// 五十音インデックス $indexes = array( "数字" => "[0-9]", "英字" => "[a-zA-Z]", ↓ "数字" => "[0-90-9]", "英字" => "[a-zA-Z]",
ちなみに、index の複数形は、この場合、indexes ではなく、indices が正しいようです。
index の複数、 “indices” か “indexes” のどっちをどう使うべきか – Togetterまとめ
ということで、五十音順タイトルのメニューが完成です。