使用php将文本分成数字和字母

时间:2013-11-19 08:05:51

标签: php text

使用php 我有一个问题,我想读一个文本并用数字和字母分开 例如,我想阅读这篇文章:4FS + 2d,14并得到这个输出:'4''FS''+''2'''',''14' 任何想法如何做到这一点? 谢谢

3 个答案:

答案 0 :(得分:2)

只需使用preg_match_all

$string = '4FS+2d,14';
preg_match_all('/[0-9]+|[a-zA-Z]+|[^0-9a-zA-Z]+/', $string, $matches);
//               ^ digits
//                      ^ chars 
//                                ^ not digits, not chars
echo json_encode($matches); // json_encode for readability

//     [["4","FS","+","2","d",",","14"]]

[0-9]+|[a-zA-Z]+|[^0-9a-zA-Z]+

Regular expression visualization

Debuggex Demo

答案 1 :(得分:1)

$str = '4FS+2d,14';
$arr = preg_split('#([\W]+|[\d]+)#i', $str, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY);
print_r($arr);
exit;

// output
Array
(
    [0] => 4
    [1] => FS
    [2] => +
    [3] => 2
    [4] => d
    [5] => ,
    [6] => 14
)

答案 2 :(得分:0)

试试这样:

<?php
$str = "4FS+2d,14";
for($loop=0;$loop<strlen($str);$loop++) {
    $len[] = $str[$loop];
}
print_r($len);
?>

演示链接:http://phpfiddle.org/main/code/de8-4yp