scm4.cgi電話へのLINK

(動作未確認無責任情報…涙)


scm4.cgiで電話番号をリンクする方法をお尋ねいただきました。色々と調べた結果、i-mode,Vodafone,WAP2.0に対しては
  TEL:<a href="tel:ここに電話番号が入ります">xxx-xxx-xxxx</a><br>
という形でタグを書き出してやれば良く、HDML機に対しては
  TEL:<a task="CALL" label="Call" number="ここに電話番号が入ります">xxx-xxx-xxxx</a><br>
と書き出してやれば良いらしいのでCGIを次の様に書き換えれば対応できそうな気配です。
(実機で確認しておりませんので、駄目だった場合、上手くいった場合などの情報をいただければ幸いです。)

CGIの変更箇所 1.電話番号をHTMLの相対パスとは別の扱いに変更します



# 相対アドレス指定のファイルへのLINKをCGI経由でのアクセスに変更する。
    $pos3=&chopparu($honbun,'<a href="','">',0);
    while($pos3>=0){
        if(index($chop2,'http:')<0 && index($chop2,'tel:')<0){
            # 表示頁のパスの整理
            $soutaipath=&path_reduce($base.$chop2);

            # Link Checkモード=======================================
            if($pass eq $passset){
                if(-e "$soutaipath"){$linkchk='<SPAN CLASS="b">LINK OK</SPAN>';}
                else{$linkchk="<SPAN CLASS=\"r\">LINK NG</SPAN><SPAN CLASS=\"kyocho\">$soutaipath</span>";}
                $pass_add="&pass=$pass";
            }
            #========================================================
            # cgi経由のアクセスに置き換え
            $honbun="$chop1<a href=\"$me\?page=$soutaipath$pass_add\">$linkchk$chop3";
        }elsif(substr($chop2,0,4) eq 'tel:' && $pnum == 4){
            # PCの場合の電話番号へのLINKタグを消去する。
            $dmy=index($chop3,'</a>');
            if($dmy>-1){$honbun=$chop1.substr($chop3,0,$dmy).substr($chop3,$dmy+4,length($chop3)-$dmy-4)};
        }

        $pos3=&chopparu($honbun,'<a href="','">',$pos3+1);
    }





CGIの変更箇所 2.HDMLで電話番号へのLINKのタグを書き換えます。




        # ==========================HDML特有のタグの変更を行う========================
        # <font></font>タグを削除、</center>タグを<br>へ、<a href="を<a type="accept" task="go" label="OK"dest="に変換
        while(&chopparu($out,'<font','>',0)>=0){$out=$chop1.$chop3;}
        $out=~ s/<\/font>//g;
        $out=~ s/<blink>//g;
        $out=~ s/<\/blink>//g;
        $out=~ s/<\/center>/<br>/g;
        $out=~ s/<a href\=\"tel:/<atel_"/g;# 電話番号へのLINKを一時変換
        $out=~ s/<a href\=\"/<a task\=\"go\" label\=\"OK\" dest\=\"/g;
        $out=~ s/<atel_"/<a task="CALL" label="Call" number="/g;# 電話番号へのLINKをHDML形式に直す
        # ============================================================================






HTMLへの電話へのLINKの記入方法(不自由ですが、タグは小文字でスペースの数などもこの通りに書かないと誤動作する可能性が有ります。)



TEL:<a href="tel:ここに電話番号が入ります">xxx-xxx-xxxx</a><br>



TEL:の部分はお好みで削除しても良いですし、別の文字列に置き換えても大丈夫です。xxx-xxx-xxxxの数字はPCに表示する場合は 有った方が良いでしょう。<br>もHDML機の表示には必要な様です。


実際に動作しているCGIは必ずバックアップをなさってからお試しくださいませ!!
Mさま、お問い合わせ有難うございました。
2004.9.18
[HOME] [scm4.cgi配布のページへ]