当前位置: 首页 > news >正文

网站后台 js框架建筑工程网课代字幕

网站后台 js框架,建筑工程网课代字幕,2344网页游戏大全,成都 网页设计 兼职关于火车头的百度翻译插件#xff0c;相信大家在火车头官网或网上都能找到相关代码#xff0c;百度翻译插件是PHP写的#xff0c;就一个PHP文件#xff0c;简单灵活#xff0c;不受火车头软件版本限制#xff0c;任何有PHP插件权限的火车头版本都可以使用。但是百度API翻…关于火车头的百度翻译插件相信大家在火车头官网或网上都能找到相关代码百度翻译插件是PHP写的就一个PHP文件简单灵活不受火车头软件版本限制任何有PHP插件权限的火车头版本都可以使用。但是百度API翻译有一个致命的缺陷就是不支持html代码翻译如果采集的字段包含html片段那翻译完全就错乱了没法正常使用下面给大家分享一个简易翻译html代码片段的方法。 ?phpdefine(CURL_TIMEOUT, 30); define(URL, http://api.fanyi.baidu.com/api/trans/vip/translate); define(APP_ID, ); //替换为您的APPID define(SEC_KEY, );//替换为您的密钥 define(FROM, en);//采集的源语言标识码默认为中文“zh” define(TO, zh);//翻译后的目标语言标识码默认翻译为英文“en”function translate($query) {$args array(q $query,appid APP_ID,salt rand(10000,99999),from FROM,to TO,);$args[sign] buildSign($query, APP_ID, $args[salt], SEC_KEY);$ret call(URL, $args);$ret json_decode($ret, true);if (isset($ret[error_code])) {switch ($ret[error_code]) {case 52003:return 错误代码.$ret[error_code].APP_ID不正确,请检查您填写的APP_ID是否和百度翻译开放平台申请的一致。;break;case 54001:return 错误代码.$ret[error_code].密钥不正确,请检查您填写的密钥是否和百度翻译开放平台申请的一致。;break;case 54000:return 错误代码.$ret[error_code].翻译内容为空请检查您的采集规则是否正确出现本错误可能软件未采集到内容。;break;case 54004:return 错误代码.$ret[error_code].余额不足您的免费字符已用完或余额不足请登陆百度翻译开放平台充值。;break;case 58001:return 错误代码.$ret[error_code].译文语言方向错误请检查您设置的目标语言标识码是否正确。;break;default:return 错误代码.$ret[error_code].不可预知的错误https://tpl.sryun.net;break;}}return $ret[trans_result][0][dst]; }function buildSign($query, $appID, $salt, $secKey) {$str $appID . $query . $salt . $secKey;$ret md5($str);return $ret; }function call($url, $argsnull, $methodpost, $testflag 0, $timeout CURL_TIMEOUT, $headersarray()) {$ret false;$i 0; while($ret false) {if($i 1)break;if($i 0) {sleep(1);}$ret callOnce($url, $args, $method, false, $timeout, $headers);$i;}return $ret; }function callOnce($url, $argsnull, $methodpost, $withCookie false, $timeout CURL_TIMEOUT, $headersarray()) {$ch curl_init();if($method post) {$data convert($args);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);curl_setopt($ch, CURLOPT_POST, 1);}else {$data convert($args);if($data) {if(stripos($url, ?) 0) {$url . $data;}else {$url . ?$data;}}}curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);if(!empty($headers)) {curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);}if($withCookie){curl_setopt($ch, CURLOPT_COOKIEJAR, $_COOKIE);}$r curl_exec($ch);curl_close($ch);return $r; }function convert($args) {$data ;if (is_array($args)){foreach ($args as $key$val){if (is_array($val)){foreach ($val as $k$v){$data . $key.[.$k.].rawurlencode($v).;}}else{$data .$key.rawurlencode($val).;}}return trim($data, );}return $args; }// function translateHTML($html) // { // // 使用正则表达式保护HTML标签不被翻译 // $html preg_replace_callback(/[^]|[^]/, function($matches) { // $segment $matches[0]; // if (preg_match(/[^]/, $segment)) { // // 这是一个HTML标签直接返回 // return $segment; // } else { // // 这是文本内容进行翻译 // return translate($segment); // } // }, $html);// return $html; // }//逐词逐句分割翻译-并不精准勉强刊用 // function translateHTML($html) // { // // 使用正则表达式保护HTML标签不被翻译 // $parts preg_split(/([^])/, $html, -1, PREG_SPLIT_DELIM_CAPTURE); // $translatedHTML ;// foreach ($parts as $part) { // if (preg_match(/[^]/, $part)) { // // 这是一个HTML标签直接附加 // $translatedHTML . $part; // } else { // // 这是文本内容进行逐词或逐句翻译 // $translatedHTML . translateTextBySentence($part); // } // }// return $translatedHTML; // }// function translateTextBySentence($text) { // // 使用句号分割句子 // $sentences preg_split(/([.!?])/, $text, -1, PREG_SPLIT_DELIM_CAPTURE); // $translated ; // foreach ($sentences as $sentence) { // if (trim($sentence) ! ) { // $translated . translate($sentence); // } // } // return $translated; // }//特定标签翻译 function translateContent($html) {$pattern /(div classariticle-body)(.*?)(br\s*\/?)/is;$html preg_replace_callback($pattern, function ($matches) {$contentToTranslate strip_tags($matches[2]);$translatedContent translate($contentToTranslate);return $matches[1] . $translatedContent . $matches[3];}, $html);return $html; }if($LabelArray[PageType]Save) {/*** 下面的内容需要根据火车头的采集规则进行修改一行为一个需要翻译的标签。* 后面的为采集到的原始标签前面的为翻译后的标签。* 这里的标签名必须和采集规则里的标签名一致否则无法翻译。*/$LabelArray[翻译的标题] translate($query $LabelArray[标题]);$LabelArray[翻译的内容] translateContent($query $LabelArray[内容]);$LabelArray[翻译的描述] translate($query $LabelArray[描述]); } echo serialize($LabelArray);?代码的关键就在于translateContent函数因为我采集的数据字段都是英文需要翻译为中文字段包含在标签div classariticle-body和br/标签之间所以我只需要翻译这之间的文本就可以翻译完成之后并将翻译结果插入回原始HTML中。 我注释掉的translateHTML函数也可以整段的翻译内容字段只是效果并不是很完美因为百度翻译不支持大段文本翻译只能是逐句分割翻译所以就弃用了大家可以私下进行调试修改。 我不知道火车头是否能完美的支持php类和扩展我测试的是不支持可能是我不熟悉也没深入研究不然翻译效果可能会更好。有需要的朋友试试吧
http://www.w-s-a.com/news/55759/

相关文章:

  • 广州高端网站制作公司哪家好网页制作公司 软件
  • 最快做网站的语言百度站长反馈
  • 简单网站设计价格手机网站技巧
  • 什么颜色做网站显的大气网站建设的含盖哪方面
  • 没网站怎么做二维码扫描连接济南做网站推广哪家好
  • 台州建设规划局网站搞外贸一般是干什么的
  • 怎么提高自己网站的知名度电子商务是建网站
  • 官方查企业的网站办公用品网站建设策划书
  • 微信网站搭建哪家好网站中转页
  • 阿里巴巴网站开发是谁长沙自助模板建站
  • 阿里云网站方案建设书网络公司运营是干啥的
  • 南通seo网站排名优化nginx wordpress rewrite
  • 网站做成软件做内部网站费用
  • 浙江企业网站建设网站域名有了 网站如何建设
  • 学编程哪个机构有权威德州做网站优化
  • 最火的网站开发语言福州网站建设服务商
  • 嘉兴网站制作哪里好asp网站源码免费版
  • 如何给网站配置域名百度网站统计添加网址
  • 搭建wap网站磁力引擎
  • 如何给公司网站做推广个人网站可以做社区吗
  • 网站建设为什么不给源代码大理如何做百度的网站
  • 网站代理违法吗网站备份流程
  • 免费域名查询网站wordpress wordfence
  • h5响应式网站模板制作巴南网站制作
  • 网站方案报价软文什么意思
  • 电子商城网站如何建设上海公司车牌价格
  • 丽江网站设计公司专业公司网站设计企业
  • iis怎么建设网站特色产品推广方案
  • 道路建设网站专题品牌网站建设特色大蝌蚪
  • 网站开发组合 所有组合如何做com的网站