900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > php 转换带声调的字幕 PHP 汉字 拼音 unicode 声母 韵母互相转换

php 转换带声调的字幕 PHP 汉字 拼音 unicode 声母 韵母互相转换

时间:2022-01-18 11:20:43

相关推荐

php 转换带声调的字幕 PHP 汉字 拼音 unicode 声母 韵母互相转换

汉字

"pinyin"=> 拼音

"pinyin_s"=> 声母

"pinyin_y"=> 韵母

"type"=> 声调(1,2,3,4)

"unicode"=> 汉字unicode

* );

*/

define('IM_FEIYAN', true);

include_once 'config.php';

$data['words'] = null;

$data_root = &$data['words'];

$word = strtolower(urldecode(Filter::http_get("word")));

if( empty($word) ){

$data_root['result_code'] = 0;

$data_root['desc'] = "Parameter Word Can't be Empty";

} else {

$page = Filter::http_get("page");

$page = !empty($page) && intval($page)>=1 ? intval($page) : 1;

$size = Filter::http_get("size");

$size = !empty($size) && intval($size)>=1 ? intval($size) : 10;

$set = ( $page-1 )*$size;

//fuzzy:模糊查询accurate:精确查询

$act = Filter::http_get("act");

$act = in_array($act,array("fuzzy","accurate")) ? $act : "fuzzy";

if( $act == "fuzzy" ) {

$sql = "SELECT COUNT(id) FROM words WHERE search_index LIKE '%{$word}%'";

$total = $db->getone($sql);

$pages = $total%$size==0 ? intval($total/$size) : intval($total/$size)+1;

$sql = "SELECT * FROM words WHERE search_index LIKE '%{$word}%' LIMIT $set,$size";

} elseif ( $act == "accurate" ) {

$column = preg_match("/^[a-z]+$/",$word) ? "pinyin"

: ( preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$word) ? "word" : "unicode");

$sql = "SELECT COUNT(id) FROM words WHERE $column LIKE '%{$word}%'";

$total = $db->getone($sql);

$pages = $total%$size==0 ? intval($total/$size) : intval($total/$size)+1;

$sql = "SELECT * FROM words WHERE $column LIKE '%{$word}%' LIMIT $set,$size";

}

$res = $db->getall($sql);

if( empty($res) ){

$data_root['result_code'] = 1;

$data_root['desc'] = 'Data is Empty';

} else {

foreach ( $res as &$row )

{

$data_root["word"][] = array(

"word"=> $row["word"],

"pinyin"=> $row["pinyin"],

"pinyin_s"=> $row["pinyin_s"],

"pinyin_y"=> $row["pinyin_y"],

"type"=> $row["type"],

"unicode"=> "\"".$row["unicode"]."\""

);

}

}

}

//导出XML或者json

output( $data );

?>

发布php中文网,转载请注明出处,感谢您的尊重!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。