前提・実現したいこと
配列の値から、半角空白、全角空白,空文字のみの要素を削除したいです。
発生している問題・エラーメッセージ
index.htmlから受け取った文字列を「,」で区切り、配列に代入し、その後各要素に対して空白文字のみ、または空文字の要素を削除したいのですが、方法が分からないです。
以下のコードでは、仮に「test1,te st1,test3 , ,,」といった文字列をformのtextareaから入力しarray_filterにかけたのですが、空白文字のみの要素が出力されてしまいます。
$tag_array = array_filter($tag_array,'strlen');
var_dumpの結果、以下のように出力されました。
array(4) { [0]=> string(5) "test1" [1]=> string(7) "te st1" [2]=> string(7) "test3 " [3]=> string(4) " " }
該当のソースコード
以下は、index.htmlです
html
1<form method="post" enctype="multipart/form-data" action="upload.php"> 2 <p>タグ: <textarea class="description" name="tag" rows="5" cols="50"></textarea></p> 3 <p>動画ファイル: <input type="file" name="movie_file"></p> 4 <button type="submit">アップロード</button> 5 </form>
以下は、upload.phpです
php
1if(isset($_POST['tag'])){ 2 $tag = $_POST['tag']; 3 4 if (mb_strlen($tag, 'UTF-8') > 500){ 5 $err_msg[] = 'タグに登録出来る文字数は500文字以内です'; 6 }else{ 7 $tag_array = explode(',',$tag); 8 $tag_array = array_filter($tag_array,'strlen'); 9 10 // var_dump($tag_array[3]); 11 $tag_array = array_unique($tag_array); 12 var_dump($tag_array); 13 } 14 15}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/06 08:47
2020/07/06 08:59
2020/07/06 09:19