小人さんが「コミケの配置場所を入力するときに、曜日→○日目は良いとして何ホールか調べるの大変ですどうにかしてください」と言っているような気がしたので、さらさらっと書いたものを置いておきます。
日曜日東ヤ20a → 3日目/東4/ヤ/20/a
日-東ヤ20a → 3日目/東4/ヤ/20/a
コミケWebカタログの文字列をペタリと貼り付けて変換できるやつですね。
分解しよう
$space_comike = preg_replace('/(\s| )/','','日曜日東ヤ20a');
preg_match('/^([金|土|日])(..|-)(.)(.)(\d{2})([ab])$/u', $space_comike, $m);
まずは、この2行のコードでザックリ分解します。
$mの中には
$m[0] = 日曜日東ヤ20a
$m[1] = 日
$m[2] = 曜日
$m[3] = 東
$m[4] = ヤ
$m[5] = 20
$m[6] = a
このような結果が入ります。$m[1]は、ifでもswitchでも良いので書き換えましょう。
どのホールなのかを調べる
面倒なのが東館の壁配置と、ホールの境界あたりです。それ以外はわりと簡単ですね。
コミケに参加するサークルが、どのホールに配置されたのかを調べるやつ
長いのでGist使いました。
山ほどif文を使っていますが、後から修正しやすくする為にこれ位の方が良いと思います。
先ほどの$m[4]と$m[5]を投げると答えが返ってきます。変なものを入れると沈黙します。
$hall = comikeSpace($m[4],$m[5]);
必要なものを拾って組み合わせれば完成です。
配置の仕様は、開催ごとに変更される事がありますので適宜修正すると良いでしょう。