多重爆炸。

我有一个来自 excel 的列,其中包含以下示例文本,我想在分隔符中分解它。这是示例


'ABC 11.0x17 / 1x4 / 2x4 XYZ'

'ABC 12.1x18 / 2x4 3x4 XYZ'

'ABC DEF 12.1x19 / 3x4 4x4 XYZ'

'ABC DEF GHI A1 13x20 / 3x4 / 4x4 XYZ'

我需要用 x 分解它,我只需要第一个 x 之后的数字,即上面的 17、18、19 或 20。我确实喜欢以下内容:


$text   = explode('x', $row[6]);

echo $text[1]; 

它给了我 17 / 1、18 / 2 等等,但在这种情况下我只需要 17 或 18


如果有人有好的解决方案,请写在这里。


炎炎设计
浏览 91回答 1
1回答

一只萌萌小番薯

您可以使用preg_match在第一个之后提取数字x:$strings = array(    'ABC 11.0x17 / 1x4 2x4 XYZ',    'ABC 12.1x18 / 2x4 3x4 XYZ',    'ABC DEF 12.1x19 / 3x4 4x4 XYZ',    'ABC DEF GHI A1 13x20 / 3x4 4x4 XYZ');foreach ($strings as $str) {    preg_match('/^[^x]+x(\d+)/', $str, $matches);    echo $matches[1] . "\n";}输出:171819203v4l.org 上的演示如果您只想使用explode,只需在爆炸后在空间上爆炸x并取第一个值:foreach ($strings as $str) {    $text = explode('x', $str, 2);    $text = explode(' ', $text[1]);    echo "$text[0]\n";}
打开App,查看更多内容
随时随地看视频慕课网APP