是否可以
一个。找出一个角色是否是中文(简化),在这种情况下是 B.得到拼音?例如:你好=> nǐhǎo使用java还是php?
干杯
答案 0 :(得分:6)
<强> A)强>
是。 unicode中表示的所有字符都有一个名为 codepoint 的唯一数字索引。
如果你知道简体中文的代码点范围,并且你知道如何获得给定字符的unicode代码点,那么简单的比较将告诉你给定字符是否在简体中文范围内。
现有问题有一个解决方案,可以在PHP中获取字符的unicode代码点:
How to get code point number for a given character in a utf-8 string?
在Java中,静态java.lang。Character::codePointAt()方法将为您提供所需的内容。
<强> B)强>
将简体中文字符或字符串转换为拼音很可能需要某种形式的地图,其中unicode代码点作为键,相应的拼音作为值。
PHP中的一个示例显示在http://kingphp.com/108.html。
对[java拼音]的简单Google搜索会显示一系列选项,其中两个选项是http://kiang.org/jordan/software/pinyinime/和http://pinyin4j.sourceforge.net/拼音库的中文。
答案 1 :(得分:4)
有点晚了,但已经解决了!
<?php
function curl($url,$params = array(),$is_coockie_set = false)
{
if(!$is_coockie_set){
/* STEP 1. let¡¯s create a cookie file */
$ckfile = tempnam ("/tmp", "CURLCOOKIE");
/* STEP 2. visit the homepage to set the cookie properly */
$ch = curl_init ($url);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);
}
$str = ''; $str_arr= array();
foreach($params as $key => $value)
{
$str_arr[] = urlencode($key)."=".urlencode($value);
}
if(!empty($str_arr))
$str = '?'.implode('&',$str_arr);
/* STEP 3. visit cookiepage.php */
$Url = $url.$str;
$ch = curl_init ($Url);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);
return $output;
}
function Translate($word,$from,$to)
{
$word = urlencode($word);
$url = 'http://translate.google.com/translate_a/t?client=t&text='.$word.'&hl=' . $from . '&sl=' . $from . '&tl=' . $to . '&ie=UTF-8&oe=UTF-8&multires=1&otf=2&pc=1&ssel=0&tsel=0&sc=1';
$name_en = curl($url);
$name_en = explode('"',$name_en);
return $name_en[1];
}
function pinyin($word)
{
$word = urlencode($word);
$url = 'http://translate.google.com/translate_a/t?client=t&text='.$word.'&hl=zh&sl=zh&tl=zh&ie=UTF-8&oe=UTF-8&multires=1&otf=2&pc=1&ssel=0&tsel=0&sc=1';
$name_en = curl($url);
$name_en = explode('"',$name_en);
return str_replace(" ", "", strtolower($name_en[5]));
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<?php
echo pinyin(urldecode($_GET['phrase']));
?>
</body>
</html>
如果您将其放在http://www.example.com/foo.php
,请输入http://www.example.com/foo.php?phrase=你好
,它会为您提供拼音。
经过测试,并且有效。
答案 2 :(得分:0)
如果您使用utf-8来解释您的文件并调用数据库,我想这很简单
$new_text = preg_replace(array('/你好/',...), array('nǐhǎo',...), $old_text);
应该这样做。
你从哪里得到你的字符串?