[RESOLU] supprimer des caractères dans une chaine

Eléphant du PHP | 372 Messages

16 juin 2016, 18:43

Salut à tous.
Voila je récupère mon url grace à :
<? $monUrl = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];?>
Ce qui me renvoi : http://monsite.fr/actu/region-rhone-alpes.html grace à :
<?php echo $monUrl ; ?>
J'aimerais tout garder sauf la partie .html.
Attention, car la longueur ce cette chaine suivant les régions, si il y a une pagination etc.... Peut être qu'on peut partir de la fin de la chaine ou faire recherche pour supprimer le .html

Merci à vous

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

16 juin 2016, 19:00

Bonjour,

Qu'as-tu essayé ? Qu'est-ce qui ne marche pas ?

La fonction basename() devrait pouvoir t'aider ;)
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 2703 Messages

16 juin 2016, 19:55


Eléphant du PHP | 372 Messages

16 juin 2016, 20:54

Pourquoi chercher à faire compliqué.
Merci ;)

Pour ceux que ça peut aider.
J'ai fait un système pour indiquer à google qu'il ne faut pas prendre en compte les balise titles de la pagination afin d'éviter le duplicate content.
Recommandation de google à cette adresse : https://support.google.com/webmasters/a ... 3744?hl=fr
<?php $monUrl = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];?><link rel="canonical" href="<?php echo $monUrl ; ?>" />

<?php
$system_pagination = str_replace('.html' ,'',$monUrl);

// Indication à google pour les balise prev & next
// Si il n'y a pas de page ( pagination )
if (empty($_GET['page'])) {
	echo '<link rel="next" href="'.$system_pagination.'-page-2.html">';
	
// Si on est sur page ( pagination )
}else{
	$system_pagination = str_replace('-page-'.$_GET['page'].'.html' ,'',$monUrl);
	echo '<link rel="prev" href="'.$system_pagination.'-page-'.($_GET['page']-1).'.html">';
	echo '<link rel="next" href="'.$system_pagination.'-page-'.($_GET['page']+1).'.html">';
}

?>
En espérant que ça servira à d'autres