我希望我能解释一下我想要实现的目标: 在PHP中,我从远程网站接收内容,我想处理这些数据。 我现在有+ - 300个这样的字符串:
$string=abcdefg123abcdefg
我想将这个字符串拆分为3个部分:
我尝试了一些爆炸功能,但我只能将字符串分成两部分。
答案 0 :(得分:1)
您可以在一系列数字上使用preg_split()
并捕获分隔符:
$parts = preg_split('/(\d+)/', 'abc123def', 2, PREG_SPLIT_DELIM_CAPTURE);
// $parts := ['abc', '123', 'def']
答案 1 :(得分:0)
preg_match("/([a-zA-Z]*)([0-9]*)([a-zA-Z]*)/", $string, $output_array);
print_r($output_array)
答案 2 :(得分:0)
这应该适合你:
(首先我得到字符串的数字来爆炸字符串!之后我将数字附加到数组中)
<?php
$string = "abcdefg123abcdefg";
preg_match('!\d+!', $string, $match);
$split = explode(implode("",$match), $string);
$split[2] = $split[1];
$split[1] = implode("",$match);
print_r($split);
?>
输出:
Array
(
[0] => abcdefg
[1] => 123
[2] => abcdefg
)
答案 3 :(得分:0)
这将有效:
$string = 'abcdefg123abcde';
preg_match_all('/([0-9]+|[a-zA-Z]+)/',$string,$matches);
print_r( $matches[0] );
Array ( [0] => abcdefg [1] => 123 [2] => abcde )