Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регулярка для выбора первого числа из строки 
V
    Опции темы
Guedda
Дата 7.7.2011, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Есть такие строки:

Цитата

1.1 Бла бла бла
1.2 Блу блу блу
1.3.8 Шо шо шо
Жураовоаов
...
4.6 Сю сю сю
...
141.5.67.2.3.4 Лю лю лю

Так вот мне из каждой такой строки необходимо вытащить первое число, то есть должно получиться приблизительно так:
Цитата

1
1
1

...
4
...
141

Длина первого числа может быть любая (и 1 символ, и 10). Как это реализовать? Заранее благодарен.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
mark2011
Дата 7.7.2011, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 28.6.2011

Репутация: 2
Всего: 2



Ну как бы смотрите... 

Вариант если это отдельные строки:

Берём строку:

Код

$str = "145454545.1 Бла бла бла";


Преобразовываем:
Код

preg_match_all("#[0-9]+#", $str, $matches);
echo $matches[0][0];


В $matches[0] будет строка "145454545". Если так нужно, можно сделать так:
Код

$int = (int)$matches[0][0];


Если это массив:
Код

$str[] = "145454545.1 Бла бла бла";
$str[] = "1.2 Блу блу блу";
$str[] = "1.3.8 Шо шо шо";
$str[] = "Жураовоаов";
$str[] = "4.6 Сю сю сю";
$str[] = "141.5.67.2.3.4 Лю лю лю";


$new_array = array();
foreach ($str as $value)
{
    preg_match_all("#[0-9]+#", $value, $matches);
    $new_array[] = $matches[0];
}

print_r($new_array);


На выходе получаем:

Код

Array
(
    [0] => Array
        (
            [0] => 145454545
            [1] => 1
        )

    [1] => Array
        (
            [0] => 1
            [1] => 2
        )

    [2] => Array
        (
            [0] => 1
            [1] => 3
            [2] => 8
        )

    [3] => Array
        (
        )

    [4] => Array
        (
            [0] => 4
            [1] => 6
        )

    [5] => Array
        (
            [0] => 141
            [1] => 5
            [2] => 67
            [3] => 2
            [4] => 3
            [5] => 4
        )

)



Это сообщение отредактировал(а) mark2011 - 7.7.2011, 18:05
PM WWW ICQ Skype   Вверх
Guedda
Дата 7.7.2011, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Спасибо. Все четко и ясно и понятно. 


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0458 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.