J'ai un problème très trivial avec str_replace.Impossible de supprimer des caractères spéciaux avec str_replace
J'ai une chaîne avec le caractère Dash En (-) comme ceci:
I want to remove - the dash
La sortie html est
I want to remove the – the dash
Je veux faire:
$new_string = str_replace ('-','',$string);
J'ai essayé d'analyser la chaîne avec html_entity_decode, pour analyser le caractère à enlever avec htmlspecialchars, mais sans aucun résultat.
Qu'est-ce que je fais mal?
-Edit- Ceci est le code complet de mon script:
$title = 'Super Mario Galaxy 2 - Debut Trailer'; // Fetched from the DB, in the DB the character is - (minus) not –
$new_title = str_replace(' - ', '', $title);
$new_title = str_replace(" - ", '', $title);
$new_title = str_replace(html_entity_decode('–'),'',$title);
Personne ne travaille. Fondamentalement, le problème est que dans le DB les tirets sont stockés comme "moins" (j'entre la valeur avec la touche moins) mais pour une raison étrange la sortie est & ndash;
Je suis en cours d'exécution sur Wordpress et le jeu de caractères est UTF-8, la même chose pour le classement DB.
Je ne peux pas rep Corrigez le problème avec votre exemple de code. S'il s'agit d'un problème d'encodage, vous devrez peut-être l'enregistrer dans un fichier et l'uploader quelque part ... –
Le code que vous avez collé fonctionne. Donc, clairement, votre problème est autre chose ... – SoapBox