2013-07-11 2 views
0

Я использую этот код PHP в Joomla, чтобы получить префикс языка ан эс пт де ..Удалить строку из PHP

$doc->addCustomTag('<<link rel="canonical" href="http://www.mysite.com/'.$lang = str_replace('en', '', substr(JFactory::getLanguage()->getTag(), 0, 2)).'/pages.html"/>'); 

И этот код удалить суффикс ан заменить его ничего, что я хотел, кроме результат дает мне страницу, как этот http://www.mysite.com//pages.html как я удалить/speacialy для ванной приставкой

+0

Снимите $ LANG = часть и посмотреть, если это работает. – jeff

+0

Я удалил часть lang и все еще имею // – BerrKamal

+0

Что делает JFactory :: getLanguage() -> getTag() return? – jeff

ответ

1

Я сделал бы

$doc->addCustomTag('<link rel="canonical" href="http://www.mysite.com/'.str_replace('en/', '', substr(JFactory::getLanguage()->getTag(), 0, 2) . '/').'pages.html"/>'); 
+0

ty, но я не работал со всем, что у меня было внутри кода $ doc-> addCustomTag, поэтому, когда я добавляю длинный код, он не работает – BerrKamal

+0

отредактировал он должен работать – dave

+0

спасибо, что он работает как шарм :) – BerrKamal

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; ?>" /> 
+0

ty bro, но я не работаю – BerrKamal

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'; 
+0

ty bro, но он дал мне ошибки, возможно, из-за $ doc-> addCustomTag – BerrKamal

Смежные вопросы