摘要:HTML将网页内容翻译成英文,或者更多语言
<!doctype html><head> <meta charset="utf-8" /> <title>网页翻译测试</title></head><body><p>基于PHP和MySQL技术开发</p>...
<!doctype html>
<head>
<meta charset="utf-8" />
<title>网页翻译测试</title>
</head>
<body>
<p>基于PHP和MySQL技术开发</p>
<p>可同时使用于Windows、Linux、Unix平台,环境需求如下</p>
<p>1、Windows 平台:<br>
IIS/Apache + PHP4/PHP5 + MySQL3/4/5<br>
如果在windows环境中使用,建议用DedeCMS提供的DedeAMPZ套件以达到最佳使用性能。</p>
<p>2、Linux/Unix 平台<br>
Apache + PHP4/PHP5 + MySQL3/4/5 (PHP必须在非安全模式下运行)<br>
建议使用平台:Linux + Apache2.2 + PHP5.2 + MySQL5.0</p>
<p>3、PHP必须环境或启用的系统函数: allow_url_fopen<br>
GD扩展库<br>
MySQL扩展库<br>
系统函数 —— phpinfo、dir</p>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/blueimp-md5/2.17.0/js/md5.js"></script>
<script type="text/javascript">
function transformLanguage(newLanguage) {
// 获取所有dom元素中文
var transformStr = '';
var temp_index = 0;
// 获取所有dom元素
function getChildDom(dom, type, data = {}) {
if(type == 'read') {
[...dom.children].forEach(v => {
// 判断中文
// /^[\u0391-\uFFE5]+$/
var re= /[\u4e00-\u9fa5]/g;
// 防止某些标签有内容并且有标签 ,或者有空格
var vHtml = $(v).contents().filter(function (index, content) {return content.nodeType === 3}).text().trim();
// 跳过script标签
if (re.test(vHtml) && v.tagName != 'SCRIPT') {
// 使用\n换行拼接、接口将返回数组
transformStr += `${vHtml}\n`
}
// 递归获取元素
getChildDom(v, type, data);
})
}else {
[...dom.children].forEach(v => {
// 判断中文
// /^[\u0391-\uFFE5]+$/
var re= /[\u4e00-\u9fa5]/g;
var vHtml = $(v).contents().filter(function (index, content) {return content.nodeType === 3}).text().trim();
// 跳过script标签
if (re.test(vHtml) && v.tagName != 'SCRIPT') {
if((data[temp_index] || null) != null)
{
var transOld = data[temp_index]['src'];
var transNew = data[temp_index]['dst'];
// 防止标签里面还有标签,所以只替换里面的html,使用replace
$(v).html(
$(v).html().replace( transOld, transNew)
)
temp_index++;
}
}
// 递归获取元素
getChildDom(v, type, data);
})
}
}
getChildDom(document,'read');
if((transformStr || null) != null)
{
getTranslateData();
// 获取翻译
// 接口申请地址 https://api.fanyi.baidu.com/
function getTranslateData() {
var appid = '...'; // 百度翻译API的appid
var key = '...'; // 百度翻译API的key
var salt = (new Date).getTime();
var query = transformStr;
var from = 'zh';
var to = newLanguage;
var str1 = appid + query + salt + key;
var sign = md5(str1);
$.ajax({
url: 'baidu.php',
type: 'post',
dataType: 'json',
data: {
q: query,
appid: appid,
salt: salt,
from: from,
to: to,
sign: sign
},
success: function(data) {
data.trans_result && getChildDom(document,'write',data.trans_result);
}
});
}
}
}
// 页面加载完成再执行
window.onload = function () {
transformLanguage('en');
};
</script>
</body>
<?php
/**
* curl
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-08-31
* @desc description
* @param [type] $url [description]
* @param [type] $post [description]
* @param boolean $is_json [description]
*/
function CurlPost($url, $post, $is_json = false)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_URL, $url);
// 是否 json
if($is_json)
{
$data_string = json_encode($post);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json; charset=utf-8",
"Content-Length: " . strlen($data_string)
)
);
} else {
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/x-www-form-urlencoded",
"cache-control: no-cache"
)
);
}
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
echo CurlPost('http://api.fanyi.baidu.com/api/trans/vip/translate', $_POST);免责/版权声明:
本篇文章给大家谈谈使用百度API翻译接口将网页翻译成英文以及其它CMS对应的知识,感谢你花时间阅读本站内容,希望对各位有所帮助,你也可以查看更多关于其它CMS的信息。
1、所有来源标注为 ECMSPLUS/zwcms.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可,如涉及大面积转载,请来信告知,获取授权。
2、本站所提供的文章资讯、软件资源、素材源码等内容均为作者提供、网友推荐、互联网整理而来(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考,如有侵犯您的版权,请联系我们,本站将在三个工作日内改正。
3、若您的网站或机构从本站获取的一切资源进行商业使用,除来源为本站的资料需与本站协商外,其他资源请自行联系版权所有人。
4、 ECMSPLUS/zwcms.com不保证资源的准确性、安全性和完整性,请您在阅读、下载及使用过程中自行确认,本站亦不承担上述资源对您或您的网站造成的任何形式的损失或伤害
5、未经 ECMSPLUS/zwcms.com允许,不得盗链、盗用本站资源;不得复制或仿造本网站,不得在非 ECMSPLUS/zwcms.com所属的服务器上建立镜像, ECMSPLUS/zwcms.com对其自行开发的或和他人共同开发的所有内容、技术手段和服务拥有全部知识产权,任何人不得侵害或破坏,也不得擅自使用。
6、互联网的本质是自由与分享,我们真诚的希望,每一份有价值的正能量能够在互联网中自由传播,能够为每一个网站提供动力。