携帯電話での電話番号タグに対応する方法
電話番号タグとは
<a href="tel:XXX-XXXX-XXXX">YYYYY</a>
という形式で使います。このタグ自体は携帯電話でブラウズする場合しか使えません。
最近Geeklogを使っていますがパッチを作成したのでここに公開。
geeklog/system/custom_cellular.php 410行目
// ページ内のURIにセッションIDを付加するためのコールバック関数 function _mobile_session_callback($matches) { global $_CONF; $pat = $_CONF['site_url']; $ret = $matches[1].$matches[2]; // forumのバグ? cf: forum/createtopic.php line 342 & forum/viewtopic.php line 100. $ret = preg_replace('!true#\d+!', 'true', $ret); if(preg_match("!https*?:\/\/!", $ret)) { // 絶対アドレス if(!preg_match("!$pat!", $ret)) { // 外部サイトだったらそのまま返す return $ret . '"'; } else { ; // 自サイト } } else { if(preg_match("!tel:!", $ret)) { // 電話番号タグもそのまま返す return $ret . '"'; } ; // 相対アドレス } // URLクエリのセパレータ $sep = strpos($ret, '?')?'&':'?'; // SIDを追加する $ret = $ret . $sep . htmlspecialchars(SID) . '"'; return $ret; }
追加したのは、tel:のあたりです。
http(s)以外のプロトコルはセッションIDを付加しないようにした方がいいのかもしれませんが、携帯から使うことはなさそうなので電話タグのみ修正。