За последние 24 часа нас посетили 22868 программистов и 1268 роботов. Сейчас ищут 757 программистов ...

Получить данные из строки в файле

Тема в разделе "PHP для новичков", создана пользователем MrSullex, 6 апр 2020.

Метки:
  1. MrSullex

    MrSullex Активный пользователь

    С нами с:
    15 сен 2015
    Сообщения:
    122
    Симпатии:
    1
    Здравствуйте. Допустим у меня в файле есть текстовые строки. И одна из них строка rcon_password 123456. Как мне именно из данной строки получить значение 123456? Если можно наглядно, пожалуйста.
     
  2. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    PHP:
    1. <?php
    2.  
    3. $text = "rcon_password 123456";
    4. $array = explode(" ", $text);
    5.  
    6. foreach ($array as $val)
    7. {
    8.     if ( ctype_digit($val) )
    9.     {
    10.         echo "Строка $val состоит только из цифр.\n";
    11.     }
    12. }
     
  3. MrSullex

    MrSullex Активный пользователь

    С нами с:
    15 сен 2015
    Сообщения:
    122
    Симпатии:
    1
    Вы, наверно, не совсем поняли вопрос. Я имел ввиду, что у меня есть текстовый файл с различными строками, к примеру

    Код (Text):
    1. rcon_password 123456
    2. server_name My server
    3. enable_ config 1
    Строк может быть различное количество. И из всех этих строк мне нужно получить именно значение строки rcon_password, то есть 123456 и вывести его.
     
  4. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Я по регуляркам не очень
    PHP:
    1. <?php
    2.  
    3. $text = "rcon_password 123456
    4. rcon_password abc
    5. server_name My server
    6. enable_ config 1
    7. rcon_password 12321333213456 344235евкуекуеап
    8. rcon_password 233213 ап  rcon_password 233213
    9. rcon_password 12321333213456";
    10.  
    11. preg_match_all('/rcon_password \w+/', $text, $matches);
    12.  
    13. if($matches[0])
    14. {
    15.     foreach ($matches[0] as $val)
    16.     {
    17.         $array = explode(" ", $val);
    18.  
    19.         if($array[1])
    20.         {
    21.             if ( ctype_digit($array[1]) )
    22.             {
    23.                 echo "Строка $array[1] состоит только из цифр.\n";
    24.             }
    25.         }  
    26.     }
    27. }
    думаю можно как то через $matches[1] проще сделать