0

たとえば、次のコードを使用する場合は次のようになります。

<?php
    $tags = "hello, bye, test";
    $tags = explode(",", $tags);
?>

コンマで区切られます。しかし、まだスペースが残っているので、それらの値をデータベースに保存したいと思います。どうすればいいですか?

4

3 に答える 3

1

", "区切り文字としてexplode withを使用するのはどうですか?

$tags = "hello, bye, test";
$atags = explode(", ", $tags);

これを取得します:

print_r($atags);
Array ( [0] => hello [1] => bye [2] => test )

私はそれが最も美しい解決策ではないことを知っていますが、それも機能します.

編集
コメントから「はい、しかし、スタックオーバーフローのタグシステムのように、両方の方法で機能するはずです。たとえば、「こんにちは、さようなら」と「こんにちは、さようなら」と「こんにちはさようなら」を分割する必要があります– Xegano 1分前」

この場合、explode with のみを使用して","から、単語を囲む空白を削除する必要があります。このようなもの:

$tags = "hello, bye, test";
$atags = explode(",", $tags);
$atags = array_map('trim', $atags);
于 2013-02-25T21:16:16.577 に答える
1

スペースが常に存在する場合、簡単な解決策は次を使用することです。

$tags = "hello, bye, test";
$tags = explode(", ", $tags);

それ以外の場合 (Michael が提案したように)、値をトリミングできます。

$tags = "hello, bye, test";
$tags = explode(",", $tags);
$tags = array_map('trim', $tags);
于 2013-02-25T21:18:02.230 に答える
0

編集: マイケルが指摘したように、すべての空白を置き換えたくありません。コンマに続く空白のみを置き換えます。配列マップを使用して、分解された配列内の各項目をトリムによって実行できます。

<?php
    $tags = "hello, bye, test";
    $tags = array_map( 
        function($s){ 
            return trim($s); 
        }, 
        explode(",", $tags)
    );
?>
于 2013-02-25T21:15:08.130 に答える