2010-10-23 4 views
0

Nice rapide pour vous les gars, j'espère que vous pouvez aider.php retirer de la chaîne

Après un CMS douteux que j'ai créé il y a quelques temps, ma base de données est pleine de 'noms' de produits qui ont 1, 2 ou 3 espaces avant le nom réel. Cela me cause des ravages maintenant et je me demande s'il y a une fonction qui me permettra de supprimer ces espaces embêtants en PHP au lieu d'avoir à mettre à jour la base de données (des centaines d'entrées).

Pour le rendre plus clair, voici ce que j'essaie d'atteindre.

//swap spaces in name for hyphens 
$SEOname = str_replace(' ','-',$name); 

//works fine on all entries that don't have preceding spaces, but occasionally leads to this 
---concrete-fence-posts 

J'espère que vous pouvez aider.

Merci.

Répondre

1

Utilisation trim():

$SEOname = str_replace(' ','-',trim($name)); 
0

La fonction trim php() (ou TRIM() dans SQL)

$str = trim(" HELLO "); // "HELLO" 

ou

SELECT TRIM(" HELLO "); // "HELLO" 

Si les espaces ne sont pas nécessaires, ce serait une bonne idée de les retirer de votre base de données (avec une requête telle que UPDATE table_name SET column_name = TRIM(column_name);

+0

fantastique. Merci beaucoup. – shane

0

Vous pouvez utiliser la fonction ltrim pour se débarrasser des espaces principaux d'une chaîne comme:

$str = ltrim($str); 

Dans votre cas, il serait utilisé comme:

$SEOname = str_replace(' ','-',ltrim($name));