2012-02-24 11 views
0

PHPを使用している単語がないコンマ,の後に空白を削除するにはどうすればよいですか?PHPを使用してユーザーが入力したデータからコンマの後に空白を削除する方法

ここにエントリがあります。

apple pie,  cherry ,   ,  pears,  crumb cake  ,   , 

これまでのところ私はこれを得ています。

apple pie, cherry, , pears, crumb cake, 

これは私が望む出力です。

apple pie, cherry, pears, crumb cake 

ここまでのところ私が得たPHPコードです。

$words = preg_split('/,/', filter_var($words, FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES), -1, PREG_SPLIT_NO_EMPTY); 
$words = preg_replace('/\s+/', ' ', $words); 
$words = array_map('trim', $words) 
+0

xPx、WPSEはWordPressの具体的な質問です。これは純粋にPHPの投稿で、Stack Overflowの方が適しています。この質問は、司会者によっても移行される可能性があります。 –

+0

スタックオーバーフローへの移行。 – EAMann

答えて

0

私は、これは特にワードプレスの問題であるとは思わないが、あなたはカンマで配列にそれを爆発して、データをサニタイズし、任意の空の値を削除する/トリミングすることができます。

$words = 'apple pie, , cherry, pears, ,'; 
$words_array = explode(',', $words); 
$clean_words_array = array(); 
foreach($words_array as $word) { 
    if (!empty(trim($word))) { 
     $clean_words_array[] = trim($word); 
    } 
} 

// you now have an array with words 
// you can put them back in a comma separated string 
// using the implode() function if you want 
5

1つのライナー楽しい:

$words = array_filter(array_map('trim',explode(',',$words))) 
+0

これを投稿しようとしていました。コールバックのない 'array_filter'は、私が出会った最も有用なPHPの魔法の1つです。 – goldenapples

関連する問題