下载帝国网站管理系统5.0正式版
 帝国论坛技术交流区网络编程请教取汉字拼音第一个字母的程序(找了一个脚本,转换成php不成功)
帝国CMS5.0正式版发布
中客:域名1元,空间10元,随时可退款!
测试:生成20万数据共用107分钟
《帝国下载系统》全面免费
Mysql大数据备份工具下载
帝国软件旗下新站 - 站长工具
1G双线帝国空间+200M数据库=158
帝国CMS教程下载
主题:请教取汉字拼音第一个字母的程序(找了一个脚本,转换成php不成功) [加入收藏夹]   

zhonghai
用户头衔:举人 *

精华贴   :0
发贴数   :166
经验值   :730
注册时间:2005-04-12
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》基础教程下载】   [第 1 楼]
请教取汉字拼音第一个字母的程序(找了一个脚本,转换成php不成功)

<script language=javascript>
cntext=window.prompt("请输入中文:");
</script>

<script language=vbs>
function getpychar(char)
tmp=65536+asc(char)
if(tmp>=45217 and tmp<=45252) then
getpychar= "A"
elseif(tmp>=45253 and tmp<=45760) then
getpychar= "B"
elseif(tmp>=45761 and tmp<=46317) then
getpychar= "C"
elseif(tmp>=46318 and tmp<=46825) then
getpychar= "D"
elseif(tmp>=46826 and tmp<=47009) then
getpychar= "E"
elseif(tmp>=47010 and tmp<=47296) then
getpychar= "F"
elseif(tmp>=47297 and tmp<=47613) then
getpychar= "G"
elseif(tmp>=47614 and tmp<=48118) then
getpychar= "H"
elseif(tmp>=48119 and tmp<=49061) then
getpychar= "J"
elseif(tmp>=49062 and tmp<=49323) then
getpychar= "K"
elseif(tmp>=49324 and tmp<=49895) then
getpychar= "L"
elseif(tmp>=49896 and tmp<=50370) then
getpychar= "M"
elseif(tmp>=50371 and tmp<=50613) then
getpychar= "N"
elseif(tmp>=50614 and tmp<=50621) then
getpychar= "O"
elseif(tmp>=50622 and tmp<=50905) then
getpychar= "P"
elseif(tmp>=50906 and tmp<=51386) then
getpychar= "Q"
elseif(tmp>=51387 and tmp<=51445) then
getpychar= "R"
elseif(tmp>=51446 and tmp<=52217) then
getpychar= "S"
elseif(tmp>=52218 and tmp<=52697) then
getpychar= "T"
elseif(tmp>=52698 and tmp<=52979) then
getpychar= "W"
elseif(tmp>=52980 and tmp<=53640) then
getpychar= "X"
elseif(tmp>=53689 and tmp<=54480) then
getpychar= "Y"
elseif(tmp>=54481 and tmp<=62289) then
getpychar= "Z"
else '如果不是中文,则不处理
getpychar=char
end if
end function
function getpy(str)
for i=1 to len(str)
getpy=getpy&getpychar(mid(str,i,1))
next
end function

alert(cntext&"的首字母是:"&getpychar(cntext))
</script>



上面是找到的脚本。下面是我修改成php的代码:

function Getpychar($char) {
$tmpp = 65536 + ord($char);

if($tmpp>=45217 && $tmpp<=45252) $getpychar= "A";
elseif($tmpp>=45253 && $tmpp<=45760) $getpychar= "B";
elseif($tmpp>=45761 && $tmpp<=46317) $getpychar= "C";
elseif($tmpp>=46318 && $tmpp<=46825) $getpychar= "D";
elseif($tmpp>=46826 && $tmpp<=47009) $getpychar= "E";
elseif($tmpp>=47010 && $tmpp<=47296) $getpychar= "F";
elseif($tmpp>=47297 && $tmpp<=47613) $getpychar= "G";
elseif($tmpp>=47614 && $tmpp<=48118) $getpychar= "H";
elseif($tmpp>=48119 && $tmpp<=49061) $getpychar= "J";
elseif($tmpp>=49062 && $tmpp<=49323) $getpychar= "K";
elseif($tmpp>=49324 && $tmpp<=49895) $getpychar= "L";
elseif($tmpp>=49896 && $tmpp<=50370) $getpychar= "M";
elseif($tmpp>=50371 && $tmpp<=50613) $getpychar= "N";
elseif($tmpp>=50614 && $tmpp<=50621) $getpychar= "O";
elseif($tmpp>=50622 && $tmpp<=50905) $getpychar= "P";
elseif($tmpp>=50906 && $tmpp<=51386) $getpychar= "Q";
elseif($tmpp>=51387 && $tmpp<=51445) $getpychar= "R";
elseif($tmpp>=51446 && $tmpp<=52217) $getpychar= "S";
elseif($tmpp>=52218 && $tmpp<=52697) $getpychar= "T";
elseif($tmpp>=52698 && $tmpp<=52979) $getpychar= "W";
elseif($tmpp>=52980 && $tmpp<=53640) $getpychar= "X";
elseif($tmpp>=53689 && $tmpp<=54480) $getpychar= "Y";
elseif($tmpp>=54481 && $tmpp<=62289) $getpychar= "Z";
else $getpychar=$char;

return($getpychar);
}




我把ASP中的ASC函数改成了PHP中的ord函数,却不行。

请教怎么替换上面的函数才能成功?




2007-01-12 09:16:39 已设置保密 顶部 回复 引用 报告 编辑 删除

wm_chief
用户头衔:管理员

精华贴   :21
发贴数   :47621
经验值   :108370
注册时间:2002-10-30
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》零基础实例入门教程】   [第 2 楼]

查看ecms的e/admin/GetPinyin.php文件
这个是所有字拼音的转换,转换后你再截取第一个字



[零基础入门教程] [模板制作教程] [采集使用教程]
官方使用交流群:12261591
2007-01-12 09:51:33 已设置保密 顶部 回复 引用 报告 编辑 删除


快速回复
内容

使用EBB代码
使用smile代码
显示签名
自动分析url
自动分析img
表情                   
                
    (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1