[RESOLU] insérer une virgule entre 2 echo

Mammouth du PHP | 643 Messages

13 sept. 2015, 23:29

Salut à tous je fait un truc tout simple pourtant et ca ne marche pas .... La virgule ne s'affiche pas
Le but étant de séparer mes keyword par une virgule .....
Je ne vois pas le problème :/
<meta name="Keywords" content="<?php echo $titre;?>,<?php !empty($_REQUEST['type']) ? "  ".$aClub[$_REQUEST['type']] : NULL; ;?>">
Merci à vous

Mammouth du PHP | 2703 Messages

13 sept. 2015, 23:31

qu'est-ce qui s'affiche ?
car le seul truc qui ne peut pas ne pas s'afficher, c'est la virgule.

Eléphanteau du PHP | 12 Messages

14 sept. 2015, 03:51

Avec votre code, la virgule s'affiche chez moi.

Mammouth du PHP | 643 Messages

14 sept. 2015, 06:31

J'ai mon traitement pour afficher mon titile:
$region_id = !empty($_REQUEST['region']) ? regionByUrl($_REQUEST['region']) : NULL;
	$titre = !empty($_REQUEST['region']) ? " Sortir en ".$aRegion[$region_id] : 'test ';
	$titre .= !empty($_REQUEST['loisir']) ? "  ".$aLoisirs[$_REQUEST['loisir']] : NULL;
	$titre .= !empty($_REQUEST['departement']) ? " -  ".$aDepartement[$region_id][$_REQUEST['departement']] : NULL;
    
	$titre .= ' - site.fr';
J'affiche le title, ca marche comme je veux:
<title><?php echo $titre ; ?></title>
Pour Keyword ca reprend en gros les mots du title en mettant une virgule entre chaque mots c'est l'idée ....

Mammouth du PHP | 1339 Messages

14 sept. 2015, 10:02

Il manque un echo avant !empty($_REQUEST['type'])
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 sept. 2015, 10:05

Bonjour,

C'est sans doute l'idée, mais ce n'est pas du tout ce que fait ton code :
<meta name="Keywords" content="<?php echo $titre;?>,<?php !empty($_REQUEST['type']) ? "  ".$aClub[$_REQUEST['type']] : NULL; ;?>">
Ceci affiche le titre complet, puis affiche une virgule, puis affiche la valeur de $aClub[$_REQUEST['type']] si $_REQUEST['type'] est défini, sinon affiche null.

Si tu veux insérer des virgules entre les mots de ta variable $titre, il faut procéder à des remplacements (des espaces par des virgules par exemple) avec str_replace(), preg_replace(), ..., en faisant attention aux espaces multiples que tu insères dans ton titre, probablement gérer les espaces autour des traits d'union pour éviter des ",-," ...

Tu peux aussi faire un explode() / implode(), ça sera peut être plus simple pour évacuer les caractères et espaces indésirables dans un tableau...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 643 Messages

15 sept. 2015, 07:31

Auriez vous un exemple peut etre ? svp
Merci encore

Mammouth du PHP | 1339 Messages

15 sept. 2015, 09:27

<?php

	$str = 'Voici un chaine de caratère susceptible de créer des mots-clés';
	
	// Méthode 1
	$explode = explode(' ', $str);
	echo implode(', ', $explode);
	
	// Méthode 2
	echo str_replace(' ', ', ', $str);
	
	// Méthode propre
	function length($var) { return (strlen($var) > 3); }
	$explode = explode(' ', $str);
	$array_filter = array_filter($explode, 'length');
	echo implode(', ', $array_filter);
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Mammouth du PHP | 643 Messages

15 sept. 2015, 20:35

Un grand merci à toi com d'hab, merci Elie.
ca marche comme je voulais ;)