1. 程式人生 > >php漢字轉拼音 php 漢字取首字母

php漢字轉拼音 php 漢字取首字母

php漢字轉拼音 php 漢字取首字母

<?php

/**
 * Class ConvertToPingYin
 *
 * 請到對應的網站申請轉換介面
 *
 * https://www.showapi.com/api/lookPoint/99
 */
class ConvertToPingYin
{

    public function cpingyin($str)
    {
        //md5簽名方式--非簡單簽名
        header("Content-Type:text/html;charset=UTF-8");
        date_default_timezone_set
("PRC"); $showapi_appid = '9918125'; //替換此值,在官網的"我的應用"中找到相關值 這個不能用自已去申請99 $showapi_secret = '99674547fde6b6497d94cbeb2e4200ebe2'; //替換此值,在官網的"我的應用"中找到相關值 這個不能用自已去申請99 $paramArr = array( 'showapi_appid' => $showapi_appid, 'content' => $str,
'showapi_timestamp' => date("YmdHis") ); $param = $this->createParam($paramArr, $showapi_secret); $url = 'http://route.showapi.com/99-38?' . $param; // echo $url; $result = file_get_contents($url); $result = json_decode($result, true); if (!
isset($pinyinarr['showapi_res_body']['data'])) { sleep(1); //迴圈時怕被封 } return $result; } public function createParam($paramArr, $showapi_secret) { $paraStr = ""; $signStr = ""; ksort($paramArr); foreach ($paramArr as $key => $val) { if ($key != '' && $val != '') { $signStr .= $key . $val; $paraStr .= $key . '=' . urlencode($val) . '&'; } } $signStr .= $showapi_secret;//排序好的引數加上secret,進行md5 $sign = strtolower(md5($signStr)); $paraStr .= 'showapi_sign=' . $sign;//md5後的值作為引數,便於伺服器的效驗 // echo "排序好的引數:" . $paraStr . "<br>"; return $paraStr; } } $pingYin = new ConvertToPingYin(); $pinyinarr = $pingYin->cpingyin('中文'); if (isset($pinyinarr['showapi_res_body']['data'])) { $pinyin = $pinyinarr['showapi_res_body']['data']; //取得拼音 $initials = strtoupper(substr($pinyin, 0, 1)); //取得首字母 } var_dump($pinyinarr);