2009-09-17 4 views
0

Je suis en train d'extraire des informations d'un 10 year old website qui a été construit en ASP en utilisant Frontpage (à l'origine) et Dreamweaver (récemment). J'utilise PHP. Je récupère des chaînes avec des espaces qui ne sont pas des espaces. En utilisant la fonction de rognage PHP, une partie de l'espace blanc est supprimée mais pas tout.Comment puis-je savoir quel type d'espace est dans une chaîne?

original string: string(47) " School Calendar" 
trimmed string: string(34) " School Calendar" 

Comment puis-je déterminer quels sont les espaces pour les supprimer?

Ma page affichant var_dumps des chaînes d'origine et rognées est here.

Répondre

2

Il semble que (si vous regardez la source sur votre page), vous avez   "espaces" qui ne sont pas ajustés par la fonction de rognage de PHP.

La meilleure option est sans doute de les remplacer à l'avance, en appelant str_replace avant de couper:

$stringToTrim = str_replace(" "," ", $original);

$trimmed = trim($stringToTrim);

(Ne pas utiliser le code standard mise en forme car il n'a pas été la manipulation   correctement)

+0

cela ne fonctionnera pas si le code a réellement un espace insécable (plutôt que le code html pour celui-ci). – Kip

+0

D'accord - mais dans son cas, il nous a montré exactement ce qui était là ... –

1

echo ord($trimmed_string) vous dira quel est le code de caractère de l'espace dans cet exemple. (Il donne le code de caractère du premier caractère.)

Questions connexes