从php中删除一个字符串

时间:2013-07-11 23:34:46

标签: php string joomla replace substr

我在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前缀

3 个答案:

答案 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';