2013-07-11 4 views
0

J'utilise ce code php dans joomla pour obtenir les langues préfixe en es fr de ..Retirer une chaîne de php

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

Et ce code supprimer le suffixe en pour le remplacer par rien que ce que je voulais, mais la résultat me donner une page comme http://www.mysite.com//pages.html comment puis-je supprimer le/speacialy pour le préfixe en

+0

Retirez le $ lang = partie et voir si cela fonctionne. – jeff

+0

J'ai supprimé la partie lang et j'ai toujours // – BerrKamal

+0

Que retourne JFactory :: getLanguage() -> getTag()? – jeff

Répondre

1

je ferais

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

ty mais je didnt travail tout ce code que j'avais dans un $ doc-> addCustomTag ainsi quand j'ajoute un code long ça ne marche pas – BerrKamal

+0

édité il devrait fonctionner – dave

+0

merci frère ça a fonctionné comme un charme :) – BerrKamal

0

Vous pouvez simplement le faire en deux étapes:

<?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 mais je doesnt travail – BerrKamal

0

Puisque vous êtes désireux de retirer le / spécifiquement pour le préfixe en, quelque chose comme cela pourrait se faire:

$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 mais il m'a donné des erreurs peut-être à cause de $ doc-> addCustomTag – BerrKamal