2012-10-24 3 views
0

Je apostrophe suis tout à fait nouveau avec PHP alors s'il vous plaît ne vous attendez pas à connaître les techniques avancées ...écho PHP - combinant une phrase et

J'ai actuellement

$cat = "A Phrase Here" 

Lorsqu'il résulte de

A Phrase Here 

Et le code suivant:

$cat = "'$cat'"; 
echo $cat; 

Parce que je veux le résultat final soit:

'A Phrase Here' 

Cependant, ce qui sort est:

' A Phrase Here ' 

Comment puis-je me débarrasser de cet espace supplémentaire avant le « A » et après la 'Ici' ?

Merci.

modifier

Il semble que l'original avait $cat les problématiques et les espaces blancs nécessaire un trim à corriger. Je suis désolé pour tout le monde pour le malentendu.

+0

$ cat = "'Une phrase ici'" puis echo $ cat? –

+0

astuce: il vaudrait mieux donner un autre nom à la première variable afin que vous puissiez garder l'appart. – JonathanRomer

+0

Essayez d'échapper à l'apostrophe ('$ cat =" \ '$ cat \' ";'). –

Répondre

0

echo n'est pas la seule option. Utilisez printf():

$cat = "A Phrase Here" 
printf("'%s'", trim($cat)); 

pour éviter des problèmes avec substitution de variables dans ' chaînes délimitées.

EDIT: trim() ajouté: http://php.net/trim

+0

Juste testé, mais l'espacement apparaît toujours. – Arkuen

+0

Faites un trim() sur la chaîne $ cat. –

+0

Vous avez copié mon code ci-dessus pour effacer le fichier PHP, l'a exécuté et vous voyez des espaces? Ce n'est pas possible**. Si vous voyez des espaces alors vous l'avez ajouté à votre contenu de variable '$ cat', quelque part, ou peut-être que vous le testez dans la console avec une police de merde qui ressemble à des espaces autour de' ''. Il n'y a pas d'autre moyen - les espaces ne viennent pas de nulle part. –

1

$cat = "'$cat'" fonctionne tout à fait bien.

Si vous voyez des espaces supplémentaires, cela signifie que la chaîne d'origine les contient. Vous pouvez les supprimer avec trim.

0

vous n'avez pas besoin pour la deuxième assign, donc:

$cat = "A Phrase Here"; 
echo $cat; // this is enough 

$cat = "A Phrase here"; 
$cat = $cat . ", and this should be an extra string"; 
echo $cat; 

$cat = "  this string with many white spaces "; 
echo trim($cat); // will trim the white spaces before and after the string; 
0

vous avez des espaces supplémentaires déjà ce n'est pas l'affectation et ce n'est pas la ligne echo. Pour assurer qu'aucun espace supplémentaire ne sera transmis, vous pouvez utiliser trim:

$cat = "'".trim($cat)."'"; 

, mais il est préférable de vérifier votre code et trouver où les espaces sont ajoutés. (ou juste var_dump tout)