我在joomla中使用这个php代码来获取前缀语言...
$doc->addCustomTag('<<link rel="canonical" href="http://www.mysite.com/'.$lang = str_replace('en', '', substr(JFactory::getLanguage()->getTag(), 0, 2)).'/pages.html"/>');
这段代码删除了后缀en,用我想要的东西替换它,但结果给了我这样一个页面http://www.mysite.com//pages.html 我如何删除/ speacialy为en前缀
答案 0 :(得分:1)
我愿意
$doc->addCustomTag('<link rel="canonical" href="http://www.mysite.com/'.str_replace('en/', '', substr(JFactory::getLanguage()->getTag(), 0, 2) . '/').'pages.html"/>');
答案 1 :(得分:0)
您可以分两步完成:
<?php
$lang = str_replace('en', '', substr(JFactory::getLanguage()->getTag(), 0, 2));
$url = 'http://www.mysite.com/'.$lang.'/pages.html';
$url = str_replace('//', '/', $url);
?>
<link rel="canonical" href="<?php echo $url; ?>" />
答案 2 :(得分:0)
由于您希望专门删除/
前缀en
,因此可以执行以下操作:
$lang = & JFactory::getLanguage();
$lang = $lang->getName();
$lang = substr($lang, 0, 2);
if($lang !== 'en') // check if $lang is English
$lang .= '/'; // append a slash
$url = 'http://www.mysite.com/'.($lang == 'en' ? '' : $lang.'/') . 'pages.html';