2010-10-23 2 views
0

Хороший быстрый для вас, ребята, надеюсь, что вы сможете помочь.php удалить из строки

После изворотливой CMS, которую я создал некоторое время назад, моя база данных заполнена именами продуктов, которые имеют либо 1, 2, либо 3 пробела перед фактическим именем. Это вызывает у меня havoc сейчас, и мне интересно, есть ли функция, которая позволит мне удалить эти надоедливые пространства в PHP вместо того, чтобы обновлять базу данных (сотни записей).

Чтобы сделать это более ясным, вот что я пытаюсь достичь.

//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 

Надеюсь, вы сможете помочь.

Спасибо.

ответ

1

Использование trim():

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

Функция PHP облицовку() (или TRIM() в SQL)

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

или

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

Если пространства не нужны, это было бы хорошей идеей, чтобы удалить их из в вашей базе данных (например, UPDATE table_name SET column_name = TRIM(column_name);

+0

Fantastic. Огромное спасибо. – shane

0

Вы можете использовать функцию ltrim, чтобы избавиться от ведущих пробелов от строки как:

$str = ltrim($str); 

В вашем случае это будет использоваться в качестве:

$SEOname = str_replace(' ','-',ltrim($name)); 
Смежные вопросы