我想把它嵌入到一个网站,但我遇到的是一些用户用法语看到它,而用英语看到它。
我想用这样的代码控制 iframe 输出:
if(language==en){
iframe here which is english form
}
if(language==fr){
iframe here which is french form
}
或者任何想法如何使上面的链接变成我可以控制的法语和en?
谢谢
我想把它嵌入到一个网站,但我遇到的是一些用户用法语看到它,而用英语看到它。
我想用这样的代码控制 iframe 输出:
if(language==en){
iframe here which is english form
}
if(language==fr){
iframe here which is french form
}
或者任何想法如何使上面的链接变成我可以控制的法语和en?
谢谢
嗯,这有点棘手,因为语言是由浏览器标头发送的,浏览器首先会获得一个片段,其中包含对服务器的另一个请求。我们必须操纵这个“内部”请求的标头。
为此,您需要 PHP 的 curl 扩展,否则会更加困难。
<?php
function curlLang($url, $lang = 'en') {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Language:' . $lang . ';q=0.5'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}
$r = (string) $_GET['r'];
if ($r == '') {
$iframe = curlLang('http://www.vantagewire.com/quotes_clients.php?ticker=THG:CA&chscale=1m&stylesheet=http://www.vantagewire.com/_resources/app/general/quotetab_chart_small_hosted.css');
$self = $_SERVER['PHP_SELF'] . '?r=';
$newIframe = preg_replace('~<script.*src="(.*)".*</script>~', '<script type="text/javascript" src="' . $self . '$1"></script>', $iframe);
echo $newIframe;
} else {
echo curlLang($r);
}