PHP中是否有任何API(如谷歌翻译api)允许翻译HTML块并仅翻译html文本?
答案 0 :(得分:3)
Microsoft的翻译API将在维护HTML标记的同时进行翻译。
API已记录在案here。它有REST和WSDL接口。
我倾向于使用PHP的SoapClient库的WSDL接口。以下是一些代码,向您展示如何使用它。
$client = new SoapClient("http://api.microsofttranslator.com/V1/SOAP.svc");
$params = array(
'appId' => 'my_app_id',
'text' => '<p>This is a <b>test</b></p>',
'from' => 'en',
'to' => 'fr');
$translation = $client->translate($params);
var_dump($translation);
您需要向Microsoft注册您自己的应用程序ID,并将其与每个请求一起提交。您可以注册here。
我建议不要剥离标签,翻译然后重新插入标签。由于您无法保证在翻译中保留字数和顺序,因此很难知道将标记放在翻译文本中的位置。最好让MT引擎处理标签。
答案 1 :(得分:0)
无法完美地提出您的问题,但如果您希望从网站上获取html文本,某种抓取文本,则需要一个php抓取器脚本:
http://forums.digitalpoint.com/showthread.php?t=708122
但是如果要删除html并只获取文本,可以使用PHP:
<强> strip_tags function. 强>
但是如果你打算获得特定的文本,你可以使用正则表达式:
答案 2 :(得分:0)
这是另一种选择:
按照以下说明将您的网站翻译成其他语言。
网页应该有Microsoft的翻译器,可用于将页面翻译成其他语言。
答案 3 :(得分:-2)
使用Regular Expressions,PHP supports them。 Regexlib有一个很好的库,里面有各种你可以适应的预先写好的正则表达式。