asdf27
24.07.2015 - 17:09
Доброго дня, форум.
Помогите с таким моментом:
имеется строка 'text text 711 1292 1241 text 273832';
Мне нужно разобрать её на массив, но не по одной цифре. В итоге должен получиться такой массив:
[0]=>'text text', [1]=>'711 1292 1241', [2]=>'text ', [3]=>'273832'. Т.е. мне надо отделить текст и цифры.
Используя выражение preg_match('/(\d+)/s', "$a", $b), режет по одной цифре. Хелп, плиз.
Может быть так:
print_r(explode('.', preg_replace("/(([^\d])\s(\d)|(\d)\s([^\d]))/", "$2$4.$3$5", "text text 711 1292 1241 text 273832")));
FatCat
24.07.2015 - 19:51
$txt = 'text text 711 1292 1241 text 273832';
$txt = trim($txt);
$array = array();
$t = "";
$l = strlen($txt);
for($i=0;$i<$l;$i++)
{
if( "".intval($txt[$i]) === $txt[$i] )$f = "nun";
elseif( $txt[$i] == " " );
else $f = "chr";
if(!$i)$of = $f;
if($of == $f)
{
$t .= $txt[$i];
}
else
{
$array[] = trim($t);
$t = $txt[$i];
}
$of = $f;
}
$array[] = trim($t);
echo("<pre>");print_r($array);echo("</pre>");
_____________
Бесплатному сыру в дырки не заглядывают...