-1

私のPhp変数は

$rowdata = "58617 INDUSTRY ORIENTED MINI PROJECT 0 43 43 P";

私が印刷する場合

$rowdata 

出力は

58617 INDUSTRY ORIENTED MINI PROJECT 0 43 43 P

そのhtmlコードは

58617
INDUSTRY ORIENTED MINI PROJECT
0
43
43
P

この変数を分割する必要があります

$split[0] = "58617";
$split[1] = "INDUSTRY ORIENTED MINI PROJECT";
$split[2] = "0";
$split[3] = "43";
$split[4] = "43";
$split[5] = "P";

私は $split = expand(" ", $rowdata); で試しました。

しかし、それは2つの部分に分かれています

誰でもこれを行うのを手伝ってもらえますか

4

4 に答える 4

1

これでうまくいくはずです:

$string = '58617 INDUSTRY ORIENTED MINI PROJECT 0 43 43 P';
$string = preg_replace('/([\d]+|[a-zA-Z\s]+) /', '$1-');
$parts = explode('-', $string);

preg_replace()、休憩が必要なすべてのスペースをダッシュ​​に置き換えます。その後、スティングはダッシュで爆発します。

于 2013-07-17T07:25:53.930 に答える
0

リンクで提供されているデータから分割変数を取得する場合は、適切な区切り文字があるため、はるかに簡単です。

サンプルコード:

$rowdata = '<TR>
    <TD class="tr3 td20"><P class="p9 ft8">58617</P></TD>
    <TD class="tr3 td21"><P class="p8 ft8">INDUSTRY ORIENTED MINI PROJECT</P></TD>
    <TD class="tr3 td22"><P class="p13 ft8">0</P></TD>
    <TD class="tr3 td23"><P class="p14 ft8">47</P></TD>
    <TD class="tr3 td24"><P class="p12 ft8">47</P></TD>
    <TD class="tr3 td25"><P class="p8 ft8">P</P></TD>
    <TD class="tr3 td13"><P class="p6 ft5">&nbsp;</P></TD>
        </TR>';
if (preg_match_all('/<TD[^>]*><[^>]*>([^<]*)<\/P><\/TD>/i',$rowdata,$split_tmp) >0 ){
    $split=$split_tmp[1];
    print_r ($split[1]);
}
于 2013-07-17T07:47:51.297 に答える
0

あまりエレガントではありませんが、うまくいきます:

<?php
$rowdata = "58617 INDUSTRY ORIENTED MINI PROJECT 0 43 43 P";
$arr_dig = array_filter(preg_split('/\D/', $rowdata), 'strlen');
$arr_str = array_filter(preg_split('/\d/', $rowdata), 'strlen');
// remove unwanted spaces from the array
$arr_str = array_filter(array_map('trim', $arr_str));
//print_r($arr_dig);
//print_r($arr_str);
?>
于 2013-07-17T07:43:57.317 に答える