HTML内の住所などからhCardをJavaScriptで生成(意味はない)
スポンサードリンク
HTML内で
<div class="entry"> <h3>八木山ベニーランド</h3> <ul> <li>所在地: 〒982-0837 宮城県仙台市太白区長町越路19-1</li> <li>TEL: 022-229-1603</li> </ul> </ul>
とかあったとき、むりくりhCardになるように書き換えます。要jQuery。
/* hCard */ $(function() { $('.entry').addClass('vcard'); $('.entry h3').addClass('fn'); $('.entry li').each( function() { var self = $(this); if (self.text().match(/所在地/) ) { var regionList=[ '北海道', '青森県', '岩手県', '宮城県', '秋田県', '山形県', '福島県', '茨城県', '栃木県', '群馬県', '埼玉県', '千葉県', '東京都', '神奈川県', '新潟県', '富山県', '石川県', '福井県', '山梨県', '長野県', '岐阜県', '静岡県', '愛知県', '三重県', '滋賀県', '京都府', '大阪府', '兵庫県', '奈良県', '和歌山県', '鳥取県', '島根県', '岡山県', '広島県', '山口県', '徳島県', '香川県', '愛媛県', '高知県', '福岡県', '佐賀県', '長崎県', '熊本県', '大分県', '宮崎県', '鹿児島県', '沖縄県' ]; var address = self.text(); address = address.replace(/\s*所在地:\s*/g,''); var zipcode; var re = new RegExp('〒(...-....)'); if ( address.match(re) ) { zipcode = '〒<span class="postal-code">'+ RegExp.$1 +'</span>'; address = address.replace(re,''); } address = address.replace(/^\s+|\s+$/g, ""); var region; for (var i = 0; i < regionList.length; i++) { var re = new RegExp('^('+regionList[i]+')'); if ( address.match(re) ) { region = '<span class="region">'+ RegExp.$1 +'</span>'; address = address.replace( re, '' ); } }; var locality; var re = new RegExp('(.+[市区町村])'); if ( address.match(re) ) { locality = '<span class="locality">'+ RegExp.$1 +'</span>'; address = address.replace( re, '' ); }; address = '<span class="street-address">'+ address +'</span>'; self.html('所在地: <span class="adr">'+ zipcode + ' '+ region + locality + address + '</span>'); } else if (self.text().match(/TEL/) ) { var tel = self.text(); tel = tel.replace(/\s*TEL:\s*/g,''); self.html('TEL: <span class="tel">'+ tel + '</span>'); } }); });
うすうす気づいているかもしれないですけれども、これっておそらくFirefoxのOperator機能拡張でしか役に立たないよ。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3581
コメントする