1

str_replace や他のメソッドを実行するとコードが肥大化するため、何を使用すればよいかわかりません。

この文字列から最初の数桁を取得したい - 以降はすべて無視する必要があります。したがって、最初の数字のセットを取得し、スペースまたはその他の後に - それを削除します。

$size = $data;

The $data tab is filled with ONE of the following:

$data="18 Bespoke(Size:S Colour:106)"; 
$data="148 Bespoke(Size:M Colour:2334)"; 
$data="Enter Colour Here";
$data="(sometimes it is empty)";

返すべき

18または148- 数字の最初のセットで、インクルードをBespoke(Size:M Colour:2334)削除してスペースを削除します。やるつもりだったstr_replaceが、永遠にかかるだろう. 最初の数字のみを返す必要があるため、$data="457 Bespoke(Size:MS Colour:3734)"エコーアウトする必要がある場合457

4

5 に答える 5

0

mフラグ付きのこの正規表現は機能するはずです:

$s = <<< EOF
18 Bespoke(Size:S Colour:106) 
148 Bespoke(Size:M Colour:2334) 
Enter Colour Here
(sometimes it is empty)
EOF;

if (preg_match_all('/^(\d+)/m', $s, $m))
   print_r($m[0]);

出力:

Array
(
    [0] => 18
    [1] => 148
)
于 2013-08-19T15:05:48.297 に答える