За последние 24 часа нас посетили 11839 программистов и 833 робота. Сейчас ищут 267 программистов ...

Замена подстроки в строке (str_replace)

Тема в разделе "Подворотня", создана пользователем Fell-x27, 22 май 2014.

Статус темы:
Закрыта.
  1. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.162
    Симпатии:
    1.770
    Адрес:
    :сердА
    Костыли же.
    Вот это я понимаю - путь Джедая!
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    А где ты раньше был, скунс? Не костыли, а классика.
     
  3. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.162
    Симпатии:
    1.770
    Адрес:
    :сердА
    goto тоже классика. Давайте его повсеместно юзать?

    Футакимбыть.
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    "Классика" потому, что и в других языках пригодится.
    Кроме того str_replace в 5.4 раза быстрей.
    А так да, чуть меньше кода получается. Сам буду юзать иногда.


    Правильно.
     
  5. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.162
    Симпатии:
    1.770
    Адрес:
    :сердА
    Как и goto.
    goto тоже быстрее вызова функции.
    "Я привык так делать" не синоним "так правильно".

    Эти костыли не работают, они прокатывают.
     
  6. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Точно скунс.
     
  7. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.162
    Симпатии:
    1.770
    Адрес:
    :сердА
    Зрелые аргументы в треде.
     
  8. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Где???!!!
     
  9. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    YSandro чет совсем понесло...
     
  10. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Мудакам просьба - не комментировать.
     
  11. dapperkop

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

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
  12. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.162
    Симпатии:
    1.770
    Адрес:
    :сердА
  13. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
  14. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.162
    Симпатии:
    1.770
    Адрес:
    :сердА
  15. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Не знаю, что у тебя за проблемы. Мне всё равно, если честно.
     
  16. BaranPHP

    BaranPHP Новичок

    С нами с:
    24 янв 2014
    Сообщения:
    356
    Симпатии:
    0
    YSandro ты не прав. Скунс животное благородное он без надобности струю пускать не будет.
    Только человек способен гадить на окружающих из удовольствия.
     
  17. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.415
    Симпатии:
    1.767
    ты полез в бутылку ни с того ни с сего.

    Добавлено спустя 1 минуту 19 секунд:
    Сражайтесь!
     
  18. BaranPHP

    BaranPHP Новичок

    С нами с:
    24 янв 2014
    Сообщения:
    356
    Симпатии:
    0
    Не согласен. Основания на лицо. Даже не так - на лице.) Человек старался, потратил время написал решение. Пришёл комментатор, ни чем ТСу не помог, зато обгадил работу другого.
     
  19. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.162
    Симпатии:
    1.770
    Адрес:
    :сердА
    Конструктивная критика давно стала синонимом обгаживания? Или нонче на форуме нельзя высказывать мнение?
     
  20. BaranPHP

    BaranPHP Новичок

    С нами с:
    24 янв 2014
    Сообщения:
    356
    Симпатии:
    0
    Конструктивная нет.
    Но в данном случае выглядит именно так. Если смотреть хронологию появления сообщений. Сандро первым выдал то, что надо было ТС. Потом появился ещё один вариант уж не знаю рабочий ли. А потом появился ты и прокомментировал всё это. Нет я не считаю что ты обязан был сделать что то. Но слышать такие комментарии не приятно. Всё равно что водителю жигулей услышать, что он ездит на ведре а не на мерене последней модэли. Ему главное что он едит, и он скорее всего даже признаёт что мерен лучше. Но слушать жигули говно, купи мерседес.... И ладно бы ещё в свой адрес. Так он предлагает помощь другому. А тут ты со своим - лучше бы ты ему на мерседесе помогал...
     
  21. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.162
    Симпатии:
    1.770
    Адрес:
    :сердА
    Какие жигули? Какой мерседес? У Исандро денег нет на некостыльное решение и по этому он завидует тем, у кого они есть? В чем параллель?

    Это форум программистов, а не недоразвитых детей, рисунки которых можно только хвалить, а то нехорошо, они же стараааааааались. Можно подумать, Исандро три дня убил на те строчки кода, страданиями, потом и слезами. Ды он их написал на ходу, даже, небось, не проверяя, потому что там негде ошибки сделать и все без того должно работать.

    Есть человек, ему дали два решения. Четвертый человек пришел и высказал свое мнение, дабы у первого сместился фокус в пользу более грамотной конструкции. Это форум. Это его суть. В каждом треде люди делятся мнениями, обсуждают что-либо, что-то критикуют, что-то одобряют. И только сейчас это создало какую-то невероятную проблему.

    Программист должен перенимать лучшие, чем есть у него, решения в свой арсенал, а не выпячивать уязвленное самолюбие. От этого самого самолюбия код лучше не станет.
     
  22. dapperkop

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

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    BaranPHP, ничего там так не выглядит) Ты думаешь мне на этом форуме не тыкали на мои решения? И ни капли не было не приятно, если честно. Прекрасно понимаю, что здесь общаются люди куда уж поумнее меня. А костыль - он и в Африке костыль, и примеры про жигули здесь не нужны. Хотя решение YSandro я бы не назвал костылем, скорее такой себе способ решения... Не кошерный, короче...
     
  23. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Ещё раз аргументы.
    1) str_replace с массивами в аргументах в 5.4 раза быстрей, чем strtr. Если же str_replace вызывать три раза со строками в аргументах, то время выполнения ещё меньше. Три вызова str_replace занимает в 5.5 раз меньше времени вызова одной strtr;
    2) замена с помощью str_replace наглядна и проста;
    3) способ замены искомых символов на какой-нибудь _x_ для последующей замены этого _x_ на что-то другое - обычная практика, подходящая для разных языков.

    В PHP сделали специфичную strtr - ок, будем иногда пользоваться. На форуме, помню, я приводил код, в котором присутствовала эта функция. Потом по отсутствии надобности как-то забылась.
    Судя по описанию strtr, идут сначала измерения длин строк, потом замены (как можно догадаться знающим C++, с множественным копированием фрагментов и последующей склейкой). Наверняка и памяти жрёт больше. Это как-то "костыльно изнутри", я бы сказал. Если Феликс не успокоится, придётся смотреть исходники.
    При остутствии своих это высказывание воспринимается как желание повонять. Как и замечание "костыли же".
    ТС и сам разберётся, что ему ближе, когда начнёт читать доки.
     
  24. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.415
    Симпатии:
    1.767
    Ну он назвал костыль костылём. Чего обижаться. Ладно, проехали. Не кипишуй. Все свои ж.
     
  25. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Тебе чего? Я же просил:
    Свой блин, тьфу.
     
Статус темы:
Закрыта.