人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

2chのメニューをPHPの配列に持って行きたいのですが、良い方法ないですかね?

↓みたいな形にしたい。
$arr = array(”地震” => array(
”地震headline”,
”地震速報”,
”臨時地震”,
”臨時地震+”
),
”おすすめ” => array(
”政治家語録”,
”ビジネスnews+”,
”芸スポ速報+”,
”femalenews+”,
”channelbox”
)
);


http://menu.2ch.net/bbsmenu.html

●質問者: kunitz
●カテゴリ:コンピュータ
✍キーワード:2ch NEWS PHP おすすめ ビジネス
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● makeworld
●40ポイント

http://www.hatena.ne.jp/1128270370#

人力検索はてな - 2chのメニューをPHPの配列に持って行きたいのですが、良い方法ないですかね? ↓みたいな形にしたい。 $arr = array(”地震” => array( ”地震headline”, ”地震速報”, ..

awkスクリプトで良ければ…。

#!/usr/bin/awk -f


BEGIN { print ”$arr = array(”; f=0; }

/<[bB]>/ {

s = match($0, ”<[bB]>”);

if(s != 0) s = s + RLENGTH;

e = match($0, ”</[bB]>”);

if(e != 0) e = e - s;

if(s != 0 && e != 0) {

if(f != 0) {

printf ”¥n),¥n”;

}

f = 1;

T = substr($0, s, e);

print ”¥””T”¥” => array(”;

}

}

/<[aA] [hH][rR][eE][fF]=/ {

if(f == 0) {

} else {

s = match($0, ”<[aA] [hH][rR][eE][fF]=[^>]*>”);

if(s != 0) s = s + RLENGTH;

e = match($0, ”</[aA]>”);

if(e != 0) e = e - s;

if(s != 0 && e != 0) {

if(f != 1) {

print ”,”;

}

f = 2;

T = substr($0, s, e);

printf ”¥”%s¥””, T;

}

}

}

END { printf ”¥n)¥n);¥n”; }

http://www.hatena.ne.jp/

はてな

結果はこんな感じです。

$ awk -f array.awk bbsmenu.html | nkf -e > array.php

$ head array.php

$arr = array(

”地震” => array(

”地震headline”,

”地震速報”,

”臨時地震”,

”臨時地震+”

),

”おすすめ” => array(

”政治家語録”,

”ビジネスnews+”,

$ tail array.php

”沖縄”

),

”他のサイト” => array(

”megabbs”,

”MILKCAFE”,

”BBNews”,

”レンサバ比較”,

”ペンフロ”

)

);

◎質問者からの返答

ありがとうございます!

awk

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ