emancipated_squirell

challenge

6 posts in this topic

was googling around when i came about this... i know tis a perl script but i dont know what its for...

cheers

# -------------------------------------------------------------------- #
# phone.pl - �g�ѓd�b����̊‹��ϐ����͂��A�n�b�V���ւ̎Q�Ƃ�Ԃ�
# -------------------------------------------------------------------- #
#=head1 NAME
#
#phone.pl - �g�ѓd�b����̊‹��ϐ����͂��A�n�b�V���ւ̎Q�Ƃ�Ԃ�
#
#=head1 SYNOPSIS
#
# �y�g�уL�����A�?ʂ��� Location ��΂��z
#
# require "phone.pl";
#
# my $phone = &phone_info();
#
# if ( $phone->{type} eq "docomo" ) {
# if ( $phone->{color} ) {
# print "Location: http://domain.name/i-color.html\n\n";
# } else {
# print "Location: http://domain.name/i-black.html\n\n";
# }
# } elsif ( $phone->{type} eq "jphone" ) {
# print "Location: http://domain.name/j-phone.html\n\n";
# } elsif ( $phone->{type} eq "ezweb" ) {
# print "Location: http://domain.name/ezweb.hdml\n\n";
# } else {
# print "Location: http://domain.name/pc.html\n\n";
# }
#
#=head1 DESCRIPTION
#
# �g�ѓd�b����̃A�N�Z�X��?t����CGI�ŁA�g�ѓd�b�Ɋւ���‹��ϐ���
# ��͂��āA�g���₷���`�̃n�b�V����쐬���A���̎Q�Ƃ�Ԃ��B
#
# �Q�Ƃł���n�b�V���̃L�[�́A�ȉ��̒ʂ�F
#
# my $phone = &phone_info();
# $phone->{type} - docomo�Ajphone�Aezweb�Apdx�A����`(=��)
# $phone->{name} - �g�ы@�햼�i���i���Ȃǁj
# $phone->{code} - �g�ы@�햼�i�R�[�h�Ȃǁj
# $phone->{color} - �J���[�\���”\�ȏꍇ���^�A�������U
# $phone->{depth} - �s�N�Z��������̃r�b�g���i����2�K����1�j
# $phone->{ver} - �o�[�W�������
#
# �������u$phone�v�� &phone_info() �֐��̕Ԃ�l�i�n�b�V���ւ̎Q�Ɓj�B
# �Ȃ��A�@��ɂ��ē����Ȃ����� undef �܂��͋?��� "" �����B
# 1.10 �ȍ~�ł́A�Ή�����t�@�C���^�C�v��Ԃ��܂��B
#
# $phone->{image_jpeg} - JPEG�摜
# $phone->{image_png} - PNG�摜
# $phone->{image_gif} - GIF�摜
# $phone->{image_bmp} - BMP�摜
# $phone->{audio_mmf} - ������ .mmf (SMAF)
# $phone->{audio_pmd} - ������ .pmd
# $phone->{audio_smd} - ������ .smd
# $phone->{audio_mld} - ������ .mld
# $phone->{audio_qcp} - ���{�C�X .qcp (EZ)
# $phone->{disable_post} - method="post" �g�p�s��
# $phone->{hdml_native} - EZ �̂��� HDML �@��iau300�`1000�n/TU-KA�j
# $phone->{xhtml_native} - EZ �̂��� XHTML �@��iau3000/5000�n�j
#
# �������܂�������̂��߁A���ʂ͊��S�ł͂Ȃ������ł��B
# 1.30 �ȍ~�ł́AUID�i�g�ђ[���ŗL�L���j��擾�ł��܂��B�i�������j
#
# $phone->{uid} - UID�i�g�ђ[���ŗL�L���j
#
# �������A�����[�h�@�ł͌�T�C�g�̃h���C�����ł̂ݎ擾�”\�A
# �i�t�H���@�ł́A��T�C�g�� pid�Esid ���p���̂ݎ擾�”\�A
# �d�y�E�F�u�@��ł́A��^����T�C�g��킸�擾�”\�ł��B
# �Ȃ��A�t�h�c�͍��̉”\�̂��߁A��茵���Ɍő̔��ʂ�s�����߂ɂ�
# �f�v�Z���^�h�o�A�h���X�ɂ��A�N�Z�X����̕��p���K�v�ł��B
#
#=head1 COMMENT
#
# phone.pl �͂����R�ɂ��g�����������B
# ���ӌ��E�o�O���Ȃǂ��҂����Ă���܂��B
#
#=head1 VERSIONS
#
# Version 1.01 (2000/05/11) �ŏ��̃o�[�W����
# Version 1.02 (2000/05/12) ezWeb ���i���ϊ��Ή��ADoCoMo �o�O�t�B�b�N�X
# Version 1.03 (2001/02/19) DoCoMo �@�햼�� i �܂ŕt����
# Version 1.04 (2001/04/05) DoCoMo �ŐV�@��Ή��A�A�X�e���Ή�
# Version 1.10 (2002/03/25) au �ŐV�@��Ή��A�t�@�C���^�C�v����Ή�
# Version 1.11 (2002/04/26) DoCoMo �������@�픻�ʑΉ�
# Version 1.12 (2002/05/07) DoCoMo FOMA�Aau �V�@��ATK11�EC313K �������Ή�
# Version 1.13 (2002/09/30) au �V�@��Aaudio/vnd.qcelp �������Ή�
# Version 1.14 (2002/10/08) au �������ʕ���
# Version 1.15 (2002/11/04) au �V�@��Ή��iSA22��A3015SA�j
# Version 1.17 (2002/11/27) au �V�@��Ή��iA5303H�^A5302CA�^TT22�j
# Version 1.18 (2002/11/28) hdml_native/xhtml_native/disable_post
# Version 1.19 (2002/11/28) hdml_native/xhtml_native �C��
# Version 1.20 (2002/12/06) au �V�@��Ή��iA1101S/TK21/TK22�j�ATK03 ��MMF�Ή�
# Version 1.21 (2003/04/16) au �V�@��Ή��iA1301S/A1302SA/TK31/TS31�j
# Version 1.22 (2003/04/17) au �V�@��Ή��iTK23/A5402ST�j�BA5402ST �͐���
# Version 1.30 (2003/05/02) uid �擾�”\�i�������j
# Version 1.32 (2003/06/10) DDI Pocket AirH" Phone �Ή��iAH-J3001V/AH-J3002V�j
# au �V�@��Ή��iA5402S/A5401CA/A5306ST/A5305K�j
# �iA5402ST �͌��ŁA�������� A5306ST �ł����j
# Version 1.33 (2003/07/01) DOCOMO_GLAY �o�O�C��(����?)
#
#=head1 SITES
#
# http://www.kawa.net/works/perl/phone/
#
#=head1 AUTHOR
#
#Copyright 2000-2003 Kawasaki Yusuke <u-suke@kawa.net> with Kappe Inc.
#
#=cut
# -------------------------------------------------------------------- #
use strict;
# -------------------------------------------------------------------- #
# NTT DoCoMo i-mode �@�했�̊�m���idepth�j
# i-mode �͊�{�I�ɋ@�햼�E�L���b�V���e�ʈȊO�̊‹��ϐ������܂���
# ���̂��ߕK�v�ȏ��͎��O�ŕێ�����K�v������܂��i�s�ւ��Ȃ��j
# -------------------------------------------------------------------- #
my $DOCOMO_DEFAULT_DEPTH = 8; # �W���� depth
my $DOCOMO_BLACK = [qw(
D501i ER209i F501i N501i
NM502i R209i P501i
)]; # �����Q�K���@��
my $DOCOMO_GLAY = [qw(
N209i N502i N821i P209i
P502i P821i R691i SO502i
)]; # �����S�K���@��
my $DOCOMO_NO_MLD = [qw(
D501i F501i N501i P501i NM502i
)]; # ������ .mld ��Ή��@��
# QVGA ���ڋ@��̈ꗗ
my $DOCOMO_QVGA = [qw(
D505i SO505i F505i P505i N505i SH505i
)];
# -------------------------------------------------------------------- #
# ezWeb �R�[�h�����i���ϊ��\
# http://www.au.kddi.com/ezfactory/tec/spec/4_4.html
# http://www.tu-ka.co.jp/common/support/tec/spec/4_4.html
# �uTS01 SYT1�v�뎚���ӁB�uTSO1�v�ɂȂ�Ă܂��B�[���łȂ��I�[�B
# -------------------------------------------------------------------- #
my $EZWEB_NAME = { reverse qw(
UP.SDK UPG UP.SDK NT95

A5301T TS23 C5001T TS21 A3015SA SA22
A3014S SN21 A3013T TS22 A3012CA CA21
A3011SA SA21 C3003P MA21 C3002K KC21
C3001H HI21 A1014ST ST14 A1013K KC15
A1012K KC14 A1011ST ST13 C1002S SN17
C1001SA SY15 C452CA CA14 C451H HI14
C415T TS14 C414K KC13 C413S SN15/SN16
C412SA SY14 C411ST ST12 C410T TS13
C409CA CA13 C408P MA13 C407H HI13
C406S SN13 C405SA SY13 C404S SN12/SN14
C403ST ST11 C402DE DN11 C401SA SY12
C313K KC12 C311CA CA12 C310T TS12
C309H HI12 C308P MA11/MA12 C307K KC11
C305S SN11 C304SA SY11 C303CA CA11
C302H HI11 C301T TS11 C202DE DN01
C201H HI01/HI02 D306S/705G SNC1/SNI1 D305P/704G MAC1/MAI1/MAC2/MAI2
D304K/703G KCC2/KCI2 D303K/702G KCC1/KCI1 D302T/701G TSC1/TSI1
D301SA SYC1

TT21 TST5 TT11 TST4 TK12 KCT8
TS11 SYT3 TK11 KCT7 TD11 MIT1
TP11 MAT3 TK05 KCT6 TT03 TST3
TK04 KCT5 TK03 KCT4 TS02 SYT2
TP01 MAT1/MAT2 TT02 TST2 TK02 KCT2/KCT3
TK01 KCT1 TT01 TST1 TS01 SYT1

A5303H HI23
A5302CA CA22
TT22 TST6
A1101S SN22
TK21 KCT9
TK22 KCTA
A5304T TS24
A1301S SN23
A1302SA SA24
TK31 KCTC
TS31 SYT4
TK23 KCTB

A5402S SN24
A5401CA CA23
A5306ST ST21
A5305K KC22
)};
# SNC1/SNI1 �� SNC1 �� SNI1 �ɕ����
foreach my $key ( keys %$EZWEB_NAME ) {
next unless ( $key =~ m#/# );
foreach my $sub ( split( "/", $key ) ) {
$EZWEB_NAME->{$sub} = $EZWEB_NAME->{$key};
}
}
# ������ .mmf �Ή��@��i�������ʂɎ��s����@��j
my $EZWEB_MMF_OK = [qw(
TK11 C313K TK03
)];
# -------------------------------------------------------------------- #
# ASTEL dot.I �@�했�̊�m���idepth�j
# -------------------------------------------------------------------- #
my $ASTEL_DEPTH = {qw(
AJ-51 2
)}; # �@�킲�Ƃ� depth
# -------------------------------------------------------------------- #
# DDI �|�P�b�g P���[��DX �F�����idepth�j
# -------------------------------------------------------------------- #
my $PDX_DEPTH = {
"G2" => 1,
"C4" => 2,
"C256" => 8,
"CF" => 16,
}; # �F����?Ƃ� depth �ϊ�
# -------------------------------------------------------------------- #
sub phone_info {

# �u���E�U���AJ-PHONE ���ʁAezWeb ���ʊ‹��ϐ�
my $agent = $ENV{HTTP_USER_AGENT};
my $accept = $ENV{HTTP_ACCEPT};

# �u���E�U����i�[����n�b�V��
my $phone = {};
$phone->{agent} = $agent;

# �t�@�C���^�C�v�Ή���

$phone->{image_jpeg} ++ if ( $accept =~ m#image/jpeg# ); # JPEG
$phone->{image_png} ++ if ( $accept =~ m#image/png# ); # PNG
$phone->{image_gif} ++ if ( $accept =~ m#image/gif# ); # GIF
$phone->{image_bmp} ++ if ( $accept =~ m#image/bmp# ); # BMP
# $phone->{movie_noa} ++; # Nancy
$phone->{audio_mmf} ++ if ( $accept =~ m#application/x-smaf# );# .mmf
$phone->{audio_pmd} ++ if ( $accept =~ m#application/x-pmd# ); # .pmd
$phone->{audio_smd} ++ if ( $accept =~ m#audio/x-smd# ); # .smd .smz
$phone->{text_html} ++; # .html
$phone->{text_hdml} ++ if ( $accept =~ m#\Whdml# ); # .hdml

if ( $agent =~ m#^J-PHONE/#i ) { # DoCoMo

my( $carrier, $ver, $name, $sub ) = split( "/", $agent );

my $jcolor = $ENV{HTTP_X_JPHONE_COLOR};
my $jsize = $ENV{HTTP_X_JPHONE_DISPLAY};
my( $width, $height ) = split( /\*/, $jsize );

$phone->{type} = "jphone";
$phone->{code} = $name; # J-DN03_a
$name =~ s/ .*$//; # J-SH51 SH�i���[�J�[���폜�j
$name =~ s/_[a-z]$//; # J-DN03�i����폜�j
$phone->{name} = $name; #
$phone->{color} = ( $jcolor =~ /^C/i );
if ( $jcolor =~ /(\d+)$/ ){
my $num = $1;
my $depth = 1;
while ( $num > 2 ** $depth ) {
$depth ++;
}
$phone->{depth} = $depth;
}
$phone->{width} = $width;
$phone->{height} = $height;
$phone->{ver} = $ver;
$phone->{uid} = &get_phone_uid_jphone(); # UID ��擾����

$phone->{disable_post} ++ if ( $ver < 3.0 ); # �X�e�[�V�����@�햢��
$phone->{image_png} ++; # �K��PNG�Ή�
$phone->{image_jpeg} ++ if ( $ver >= 3.0 ); # �X�e�[�V�����@��ȍ~
$phone->{audio_mmf} ||= $ENV{HTTP_X_JPHONE_SMAF}; # 16�a���`
$phone->{audio_mmf} ||= $ENV{HTTP_X_JPHONE_SOUND}; # 4�a���`
$phone->{sound} = (split( /,/, $ENV{HTTP_X_JPHONE_SMAF} ))[0]; # �a����
$phone->{java} = $ENV{HTTP_X_JPHONE_JAVA}; # Java �Ή�

$phone->{cache} = 6144 if ( $name = /^J-[A-Za-z]+[01]/ ); # 0�V���[�Y��6KB

# } elsif ( $accept =~ m#\Whdml(\W|$)#i ) { # HDML�Ŕ���
# } elsif ( $agent =~ m#^(UP\.Browser/|KDDI-)#i ) { # au / TU-KA
} elsif ( $agent =~ m#^((KDDI-)?[A-Z]+[A-Z0-9]+\s+)?UP\.Browser/#i ) { # au / TU-KA

my $ecolor = $ENV{HTTP_X_UP_DEVCAP_ISCOLOR};
my $edepth = $ENV{HTTP_X_UP_DEVCAP_SCREENDEPTH};
my $esize = $ENV{HTTP_X_UP_DEVCAP_SCREENPIXELS};
my $ezweb = $ENV{HTTP_X_UP_SUBNO};
my( $width, $height ) = split( ",", $esize );

# KDDI-HI21 UP. Browser/6.0.2.254(GUI) MMP/1.1 �� C3001H
# UP. Browser/3.01-HI02 UP.Link/3.2.1.2 �� A1000

# �ŏ��� / �̌��Ƀo�[�W�����ԍ�������
my $ver = ( $agent =~ m#^[^\/]+\/([\d\.]+)#i )[0];
# �ŏ��� - �̌��ɋ@�햼������
my $name = ( $agent =~ m#^[^\-]+\-([A-Z]\w+)#i )[0];

$phone->{type} = "ezweb";
$phone->{name} = $EZWEB_NAME->{$name} || "($name)";
$phone->{code} = $name;
$phone->{color} = ( $ecolor > 0 );
$phone->{width} = $width;
$phone->{height} = $height;
$phone->{depth} = ( $edepth =~ /^(\d+)/ )[0]; #�w16,RGB565�x
$phone->{ver} = $ver;
$phone->{uid} = &get_phone_uid_ezweb(); # UID ��擾����
$phone->{image_bmp} ++; # �K��BMP
$phone->{image_png} = ( $ecolor > 0 ); # �J���[�@���PNG
$phone->{text_html} = ( $accept =~ m#text/html# );
$phone->{text_hdml} ++;

# (GUI) �Ɗ܂ދ@��� XHTML �l�C�e�B�u�@��i2002/11/04�j
if ( $agent =~ /\(GUI\)/ ) {
$phone->{xhtml_native} ++;
} else {
$phone->{hdml_native} ++;
}

# .mmf �Ή��͊�{�I�Ɏ������ʂł��邪�A�ꕔ�@��͎������ʂł��Ȃ�
my $mmf_ok = { map {$_=>1} @$EZWEB_MMF_OK };
$phone->{audio_mmf} ++ if $mmf_ok->{$phone->{name}};
$phone->{audio_qcp} ++ if ( $accept =~ m#audio/vnd.qcelp# );

$phone->{image_gif} ++; # �ŋ߂�GIF�����Ή�
my $max_pdu = $ENV{HTTP_X_UP_DEVCAP_MAX_PDU};
$phone->{cache} = $max_pdu if $max_pdu;

} elsif ( $agent =~ m#^DoCoMo/#i ) { # DoCoMo

# DoCoMo/1.0/SO503i/c10
# DoCoMo/2.0 P2101V (c100)
my( $docomo, $ver, $name, $sub ) = split( /[\/\s\(\)]+/, $agent );

my $imode_depth = {
( map { $_ => 1 } @$DOCOMO_BLACK ), # �����Q�K��
( map { $_ => 2 } @$DOCOMO_GLAY ), # �O���[�S�K��(�C��)
};
my $depth = $imode_depth->{$name}; # 2001/04/05
$depth ||= $DOCOMO_DEFAULT_DEPTH; # 2000/07/19

$phone->{type} = "docomo";
$phone->{code} = $name;
$phone->{name} = $name;
$phone->{color} = ( $depth >= 8 );
$phone->{depth} = $depth;
$phone->{ver} = $ver;
$phone->{sub} = $sub;
$phone->{uid} = &get_phone_uid_docomo(); # UID ��擾����
$phone->{image_gif} ++; # �K��GIF

my $no_mld = { map {$_=>1} @$DOCOMO_NO_MLD }; # ������
$phone->{audio_mld} ++ unless $no_mld->{$name}; # ��{�I�ɑΉ�

my $cache = ( $sub =~ /(?:^|[^A-Za-z])c(\d+)/ )[0] * 1024;
$phone->{cache} = $cache if $cache;

my $qvga_map = { map {$_=>1} @$DOCOMO_QVGA }; # QVGA�Ή��@��
$phone->{qvga} ++ if $qvga_map->{$name};

} elsif ( $agent =~ m#^ASTEL/#i ) { # Astel

# ASTEL/1.0/J-0511.00/c10/smel
my( $docomo, $ver, $name, $sub ) = split( "/", $agent, 4 );

my( $maker, $code ) = ( $name =~ /(\D+)(\d\d\d)/ );
my $sname = sprintf( "A%s%d", $maker, $code ) if $code;
my $depth = $ASTEL_DEPTH->{$sname};

$phone->{type} = "astel";
$phone->{code} = $name;
$phone->{name} = $sname || "($name)";
$phone->{color} = ( $depth >= 8 );
$phone->{depth} = $depth;
$phone->{ver} = $ver;
$phone->{sub} = $sub;
$phone->{image_gif} ++; # �K��GIF
$phone->{image_png} ++; # �K��PNG
$phone->{cache} = ( $sub =~ /(?:^|[^A-Za-z])c(\d+)/ )[0] * 1024;

} elsif ( $agent =~ m#^Mozilla/\d+.\d+\(DDIPOCKET;(.*?)\)#i ) {

# Mozilla/3.0(DDIPOCKET;JRC/AH-J3001V,AH-J3002V/1.0/0100/c50)CNF/2.0
my $ddip = $1; # AirH" Phone
my( $maker, $name, $ver, $sub, $cache ) = split( "/", $ddip );
$phone->{type} = "ahphone";
$phone->{code} = $name;
$phone->{name} = $name;
$phone->{ver} = $ver;
$phone->{sub} = $sub;
$phone->{image_gif} ++; # �K��GIF
$phone->{cache} = ( $cache =~ /(?:^|[^A-Za-z])c(\d+)/ )[0] * 1024;

} elsif ( $agent =~ m#^L-mode/#i ) { # L-mode

# L-mode//1.0/AT/SHAUX-W71/10240/1000
# L-mode//1.0/AT/NTTxxxxxxxxxxxxx-000/10240/1000
$phone->{type} = "lmode";
$phone->{ver} = ( $agent =~ m#//(\d+\.\d+)/# )[0];
$phone->{image_gif} ++; # �K��GIF

} elsif ( $agent =~ m#^PDXGW/#i ){ # DDIP

my( $ver ) = ( $agent =~ m#^PDXGW/([\d\.]+)# );
my( $stat ) = ( $agent =~ m#\((.*)\)# );
$stat ||= "TX=6;TY=3;GX=72;GY=36;C=G2;G=B2;GI=0";
my $hash = {};
foreach my $elem ( split( ";", $stat ) ){
my( $key, $val ) = split( "=", $elem );
$key =~ tr#a-z#A-Z#;
$key =~ s#^\s+##;
$key =~ s#\s+$##;
$val =~ s#^\s+##;
$val =~ s#\s+$##;
$hash->{$key} = $val;
}

$phone->{type} = "pdx";
$phone->{ver} = $ver;
$phone->{color} = ( $hash->{C} =~ /^C/ );
$phone->{depth} = $PDX_DEPTH->{$hash->{C}};
$phone->{width} = $hash->{GX};
$phone->{height} = $hash->{GY};
$phone->{info} = $hash;

} else { # Other (PC)

$phone->{type} = undef; # �^�C�v����`
$phone->{color} = ! undef; # �ł�J���[���ȁH

}

if ( $phone->{width} >= 240 && $phone->{height} >= 320 ) {
$phone->{qvga} ++;
}

# �n�b�V���ւ̎Q�Ƃ�Ԃ�
$phone;
}
# -------------------------------------------------------------------- #
# UID ����o��
# �������AUID�̌^�`�F�b�N�݂̂ł͍��̉”\�̂��߁A
# �����ɂ͂f�v�Z���^�h�o�A�h���X�̐���Ƃ���K�v
# -------------------------------------------------------------------- #
sub get_phone_uid_docomo {
# �����[�h�̏ꍇ�́A�N�G���ϐ� uid �� 2���̐����Ŏn�܂�
# 00 (PDC) �܂��� 01 (FOMA) ��\��
# �ˌ�T�C�g�� uid=NULLGWDOCOMO �w�莞�̂ݎ擾�”\
# �@phone.pl �̎���ł͂���� GET ���M���̂ݎ擾�”\
# �@POST ���M���͎擾�ł��Ȃ��i�N�G����ǂ߂Ȃ����߁j
my $phone_uid = ( $ENV{QUERY_STRING} =~ /(?:^|&)uid=([%\w]+)(?:&|$)/ )[0];
$phone_uid = undef unless ( $phone_uid =~ /^\d\d\w+$/ );
$phone_uid;
}
sub get_phone_uid_jphone {
# �i�t�H���̏ꍇ�́A�‹��ϐ� HTTP_X_JPHONE_UID ��Q�Ƃ���
# �t�h�c���M������̏ꍇ�́ANULL ���͂�������Ȃ�
# ��uid=1&pid=XXX&sid=XXX �w�莞�̂ݎ擾�”\
my $phone_uid = $ENV{HTTP_X_JPHONE_UID};
$phone_uid = undef if ( $phone_uid eq "NULL" );
$phone_uid;
}
sub get_phone_uid_ezweb {
# �d�y�E�F�u�̏ꍇ�́A4���ȏ�̐����Ŏn�܂�A
# �K�� ezweb.ne.jp �� ido.ne.jp �ŏI���
# �˔��T�C�g�ł�擾�”\
my $phone_uid = $ENV{HTTP_X_UP_SUBNO};
$phone_uid = undef unless ( $phone_uid =~ /^\d{4}.*(ezweb|ido)\.ne\.jp$/i );
$phone_uid;
}
# -------------------------------------------------------------------- #
;1;
# -------------------------------------------------------------------- #

0

Share this post


Link to post
Share on other sites

It some server-side code to deal with phone web browsers in some way. Is that line noise (does that exist anymore?) or unicode?

0

Share this post


Link to post
Share on other sites
Is that line noise (does that exist anymore?) or unicode?

I think it's (SHIFT) JIS {Japanese character encoding} that isn't tagged - so our browsers are interpreting it incorrectly.

Follow the links: http://www.kawa.net/works/perl/phone/phone.html

0

Share this post


Link to post
Share on other sites

Probably Unicode.

It's something with NTT DOCOMO phones so it's only good in Japan.

0

Share this post


Link to post
Share on other sites
thanks for the link

Link was in the original script you posted, I just followed it.. :blink:<_<;)

You should give linkification a look, or use a notepad that autolinks text, makes things much easier to play with.

Edited by jabzor
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now