| |
|
|
| | Есть строка состоящая из текста и цифр, между ними может быть пробел, а может и не быть.
дак вот нужно разбросать текст в одну сторону, цифры в другую.
примеры строк:
<?
$str = 'test 1234';
preg_match('/^(.*)([0-9]{3,4})/',$str,$match);
print_r($match);
?>
|
код работает нормально если число 3 значное.
если дать 4 значное то первый знак поместит в первый элемент массива
$match[1] = test 1 $match[2] = 234
Помогите сделать корректную разбивку. | |
| |
|
|
| |
|
|
| |
для: skor
(18.01.2008 в 19:19)
| | | вместо .* пишите [^0-9]* и уберите ^
<?
$str = 'test 1234';
preg_match('/([^0-9]*)([0-9]{3,4})/',$str,$match);
print_r($match);
?> | |
| |
|
|
| |
|
|
| |
для: ddhvvn
(18.01.2008 в 19:40)
| | | Благодарю, все четко работает. Спасибо! | |
| |
|
|
| |
|
|
| |
для: skor
(18.01.2008 в 19:51)
| | | А если будет 5 цифр?
Или это Вас не волнует и стабильно должно быть от 3 до 4 ? | |
| |
|
|
| |
|
|
| |
для: Faraon
(19.01.2008 в 02:53)
| | | Видимо, да =) | |
| |
|
|
| |
|
|
| |
для: Faraon
(19.01.2008 в 02:53)
| | | ну тогда сделаю так ) {3,5} | |
| |
|
|
| |
|
|
| |
для: skor
(20.01.2008 в 01:56)
| | | А если 6? | |
| |
|
|
| |
|
|
| |
для: Unkind
(20.01.2008 в 12:16)
| | | | |
| |
|
|
| |
|
|
| |
для: SHAman
(20.01.2008 в 12:41)
| | | Что же Вы не дали автору ответить. | |
| |
|
|