0

Web サイトからコピーしたテキストを処理しようとしています。iMacros を使用してテーブルからコンテンツを取得していますが、抽出されたデータにはデータ間に多くのスペースがあります。

スペースを削除するためにトリムと str_replace を試みていましたが、うまくいきましたが、問題は、新しい文字列を爆発させようとすると、トリミング前に元の文字列を爆発させているように見えることです! 配列には何百ものキーがあります!

私が間違っていることは何ですか?

サンプルデータ:

"1","
                        Data1









                    ","
                                                            Data2
                    ","                                 
                                Data3
                    ","-","-1","-","-","-","-"

ここに私が使用しているコードがあります:

$data_lines = preg_split( '/\r\n|\r|\n/', $_POST['data'] );

foreach($data_lines as $data_line) {

    $data_line = str_replace('  ', '', $data_line);
    $data_line = str_replace('"', '', $data_line);

    $data_line = explode(',', $data_line);

    echo '<pre>';
    print_r($data_line);
    echo '</pre>';

}    

したがって、目標は、Data 値と記号/数値を引用符で囲んで (明らかに引用符を白く) 配列で取得することです。

事前に助けてくれてありがとう

4

2 に答える 2

0

どうですか:

$data = explode(',', preg_replace(
  array('/\r\n|\r|\n/', '/"\s*(\S*?)\s*"/'), 
  array(''            , '$1'              ),
  $_POST['data']
));

実施例

于 2013-04-14T11:54:29.153 に答える
0

PHPでTrim関数を使用する

trim — Strip whitespace (or other characters) from the beginning and end of a string - php.net

http://php.net/manual/en/function.trim.php

于 2013-04-14T11:11:46.613 に答える