За последние 24 часа нас посетили 15659 программистов и 1532 робота. Сейчас ищут 936 программистов ...

Сортировка.Убрать из строки в файле ненужное

Тема в разделе "PHP для новичков", создана пользователем sense1, 13 мар 2017.

  1. sense1

    sense1 Новичок

    С нами с:
    16 фев 2017
    Сообщения:
    35
    Симпатии:
    1
    Привет! Подскажите или направьте пожалуйста с решением

    Есть строка в файле : 1.0.49.0-1.0.63.255,"CN","China Telecom Guangdong".

    Нужно убрать страну, CN.

    Заранее спасибо.
     
  2. Sergey_Tsarev

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

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    https://php.ru/manual/function.str-replace.html
     
  3. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    PHP:
    1. <?php
    2. $arr= ['42.0.24.0-42.0.27.255,"CN","China Telecom fujian"',
    3.        '42.83.88.0-42.83.127.255,"PK","China Telecom Guangdong"',
    4.        '43.254.36.0-43.254.36.255,"JP","China Telecom Beijing"',
    5.        '223.223.176.0-223.223.191.255,"KH","China Telecom Beijing"',
    6.        '27.121.72.0-27.121.79.255,"AU","China Telecom Guangdong"'
    7.        ];
    8. foreach ($arr as $val){
    9.     $newarr[]= preg_replace('#"[A-Z]{2}",#','', $val);
    10. }
    11. print_r($newarr);
    Код (Text):
    1. Array
    2. (
    3.     [0] => 42.0.24.0-42.0.27.255,"China Telecom fujian"
    4.     [1] => 42.83.88.0-42.83.127.255,"China Telecom Guangdong"
    5.     [2] => 43.254.36.0-43.254.36.255,"China Telecom Beijing"
    6.     [3] => 223.223.176.0-223.223.191.255,"China Telecom Beijing"
    7.     [4] => 27.121.72.0-27.121.79.255,"China Telecom Guangdong"
    8. )
     
    sense1 нравится это.
  4. sense1

    sense1 Новичок

    С нами с:
    16 фев 2017
    Сообщения:
    35
    Симпатии:
    1
    Спасибо большое
     
  5. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    @alexblack, а цикл зачем? preg_replace нормально работает с масcивами
     
  6. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Давно не смотрел PCRE документацию писал по памяти,да,действительно,можно и без foreach.
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Любите вы все регуляркой ковырять...

    PHP:
    1. <?php
    2. $arr= ['42.0.24.0-42.0.27.255,"CN","China Telecom fujian"',
    3.        '42.83.88.0-42.83.127.255,"PK","China Telecom Guangdong"',
    4.        '43.254.36.0-43.254.36.255,"JP","China Telecom Beijing"',
    5.        '223.223.176.0-223.223.191.255,"KH","China Telecom Beijing"',
    6.        '27.121.72.0-27.121.79.255,"AU","China Telecom Guangdong"'
    7.        ];
    8.      
    9. foreach ($arr as $val){
    10.     $temp = explode(',',$val);
    11.     $newarr[] = implode(',',[$temp[0],$temp[2]]);
    12. }
    13. print_r($newarr);
    --- Добавлено ---
    Result:
    Код (Text):
    1. Array
    2. (
    3.     [0] => 42.0.24.0-42.0.27.255,"China Telecom fujian"
    4.     [1] => 42.83.88.0-42.83.127.255,"China Telecom Guangdong"
    5.     [2] => 43.254.36.0-43.254.36.255,"China Telecom Beijing"
    6.     [3] => 223.223.176.0-223.223.191.255,"China Telecom Beijing"
    7.     [4] => 27.121.72.0-27.121.79.255,"China Telecom Guangdong"
    8. )
     
    SamyRed и MouseZver нравится это.