J'avais des problèmes lorsque j'essayais d'utiliser la chaîne et quand je l'ai copié dans le bloc-notes ++ et vu tous les caractères, il affichait les symboles attachés suivants. Ma connaissance est qu'ils sont des sauts de ligne et des espaces. La question est, je ne peux pas sembler les obtenir enlevés de ma chaîne?Effacement de CR CL et d'espaces dans la chaîne PHP
Explication:
J'ai une fonction qui shell_exec utilise pour récupérer des informations à partir d'une base de données stockées.
$output = trim(shell_exec("'".$command."' 2>&1")); //Trimmed version
return $output;
J'ai un système de crédit, mais quand ils se chargent de la page, il appelle la fonction d'obtenir des crédits en fonction de l'utilisateur, etc.
$Credits = Sqlite('select "Credits" from TBL WHERE User = "bla" limit 1');
La chose est, le crédit revient avec un �
à côté . Donc, si j'ai 9.50
stocké, j'ai reçu �9.50
. En regardant dans cela, j'ai remarqué les caractères ci-dessus inclus dans la chaîne?
Mes tentatives PHP:
$Credits = preg_replace('/\s/', '', $Credits); //Clear all spaces
//$Credits = str_replace(' ', '', $Credits); //Clear spaces <-- dont work either
$Credits = str_replace('\r\n', '', $Credits); //Clear all new lines
echo $Credits; //Still returns the new line etc
Veuillez publier le [MCVE (exemple complet vérifiable minimal)] (http://stackoverflow.com/help/mcve). Les $ Credits = preg_replace ('/ \ s /', '', $ Credits); 'devraient faire le travail. Eh bien, s'il y a des caractères Unicode, vous avez besoin de ''/\ s/u'', mais cela ne semble pas être le cas ici. Aussi, pourquoi ne pas essayer [** 'trim()' **] (http://php.net/manual/pl/function.trim.php)? –
Pourquoi voulez-vous supprimer ces caractères? – Philipp
btw. vous devriez utiliser '" \ r \ n "' au lieu de ''\ r \ n'' - des séquences d'échappement ne fonctionnant que dans des chaînes' '' '' ' – Philipp