За последние 24 часа нас посетили 20882 программиста и 1130 роботов. Сейчас ищут 334 программиста ...

Регулярное выражение

Тема в разделе "PHP для новичков", создана пользователем DemoN1810, 29 дек 2015.

  1. DemoN1810

    DemoN1810 Новичок

    С нами с:
    16 дек 2015
    Сообщения:
    97
    Симпатии:
    0
    Регулярные выражения совсем не знаю, нужно в $div убрать все квадратные скобки, в которых цифры (обычно они сразу после слов или после дат), делаю примерно вот так
    Код (PHP):
    1. $div=preg_replace("/[\d+]/", "", $div);
    2. echo $div->plaintext; 
    , но $div тогда совсем пустой, как правильно?
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    экранировать служебные символы (подсказка: квадратные скобки)
     
  3. DemoN1810

    DemoN1810 Новичок

    С нами с:
    16 дек 2015
    Сообщения:
    97
    Симпатии:
    0
    тогда варнинг выходит, что обратный слэш нельзя делать, если быть точнее, то цифра и закрывающая скобка удаляется, а открывающая скобка остаётся

    Добавлено спустя 3 минуты 14 секунд:
    а, всё, понял, слэш в самом начале ставится, где тут кнопка удалить пост, она вообще есть?
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    выходит у тебя руки не из того места растут...

    Код (PHP):
    1. <?php
    2. $div = "текст [1]
    3. еще какой-то
    4. а тут [нет] цифр
    5. [2] цифра в начале ой";
    6.  
    7. var_dump(preg_replace("/\[\d+\]/", "", $div));
    Код (Text):
    1. string(95) "текст
    2. еще какой-то
    3. а тут [нет] цифр
    4.  цифра в начале ой"
    работает. что я делаю не так?
     
  5. DemoN1810

    DemoN1810 Новичок

    С нами с:
    16 дек 2015
    Сообщения:
    97
    Симпатии:
    0
    шта? я сделал вот так /\[[\d+\]]/ чтобы наверняка работало
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    ну а прочитать это слева-направо сможешь?
     
  7. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    это чтото потустороннее
     
  8. DemoN1810

    DemoN1810 Новичок

    С нами с:
    16 дек 2015
    Сообщения:
    97
    Симпатии:
    0
    \d+ не знаю он сам по себе или тоже в скобках? я рассуждал, что тоже в скобках
     
  9. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    это не слева-направо. а я прошу слева-направо. тыжнаписал эту хрень. значит в твоей голове родилась какая-то мысль, которая заставила руки напечатать на клавиатуре эту последовательность, сохранить, запустить, увидеть ворнинг. как ты рассуждал?
     
  10. DemoN1810

    DemoN1810 Новичок

    С нами с:
    16 дек 2015
    Сообщения:
    97
    Симпатии:
    0
    только что сказал же, я думал правильно [\d+], а не просто \d+, так же как и [0-9]
     
  11. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    это опять не слева-направо... что ж такое... я теряю интерес...
     
  12. DemoN1810

    DemoN1810 Новичок

    С нами с:
    16 дек 2015
    Сообщения:
    97
    Симпатии:
    0
    ну вот слева-направо, сперва [, потом [\d+], потом ], вот
     
  13. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    ясно. ты не хочешь чтоб тебе помогали. так и запишем.
     
  14. DemoN1810

    DemoN1810 Новичок

    С нами с:
    16 дек 2015
    Сообщения:
    97
    Симпатии:
    0
    я уже сделал всё как надо, просто не понимаю, правильно [\d+] или просто \d+
     
  15. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    вот именно. я просто хотел услышать от тебя логику написанного тобой чуть выше регулярного выражения. ведь регулярное выражение легко описывается обычным русским языком. я не услышал от тебя обычного русского языка. значит ты не хочешь чтоб тебе помогали с исправлением твоих "знаний". сделал и сделал. работает? ну и хорошо. рад за тебя.