suppression d'un espace insécable

Nouveau WRInaute
Bonsoir,
j'ai un petit problème à cause des espaces insécables !
je veux Couper une chaîne en segments, mais malheureusement les espaces insécables me posent problème:
Code:
ma chaine de caractères :  Sous combien de temps Shopping génération livre les commandes ?

%Sous%

%combien%

%de%

%temps%

%Shopping%

%génération livre%

%les%

%commandes%
l'espace insécable est là : %génération livre%
 
WRInaute passionné
Le problème c'est que tu n'as aucun moyen de l'identifier... Je veux dire par la que ton espace insécable (au niveau code) est identique aux autres...

Donc effectivement, je ne vois pas de solution...
Si "génération livre" est la seule chaine de caractère concernée... tu peux traiter ton probleme avec un "if"... mais si tu as des espaces insécables un peu partout et que tu n'as pas moyen de les identifier, c'est mort...
 
WRInaute passionné
Les espaces insécables en html, ont un code qui leur est propre, " ".

C'est donc identifiable dans une chaîne de caractères.
 
WRInaute discret
Anto1982 a dit:
Les espaces insécables en html, ont un code qui leur est propre, " ".

question bête.... : et les espaces sécables, en HTML, ça donne quoi...?

"titi et toto : " en bout de ligne peut donner ça :
Code:
titi et toto
:

alors que titi et toto : donnera ça :
Code:
titi et 
toto :
 
WRInaute accro
Un espace normal a le code ASCII 32 (20 en hexa). En ISO-8859-* et Unicode, un espace insécable a le code 160 (A0 en hexa). Il peut être représenté en html par   ou   ou   tandis qu'en php c'est \xa0. En UTF-8 ça donne 0xC2 0xA0.

http://en.wikipedia.org/wiki/Non-breaking_space

Je n'ai pas bien suivi d'où sort ton texte? D'une base de données? D'un source? Tu veux le manipuler en SQL ou en PHP? Un bête str_replace suffit à le remplacer par un espace "normal":

str_replace($chaine,"\xa0"," ");

Jacques.
 
Nouveau WRInaute
j'ai une liste de question dans ma base de données mysql , je les récupère une par une pour les couper en segments ( traitement en php).
mon script ne fonctionne pas correctement quand il y'a un espace insécable ! j'ai essayé
Code:
$mot = strtr($mot, ' ', ' ');
mais ça ne donne rien! il y'est toujours !
 
Discussions similaires
Haut