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

Найти и удалить кусок текста в переменной

Тема в разделе "Сделайте за меня", создана пользователем Polearmik, 21 сен 2019.

  1. Polearmik

    Polearmik Новичок

    С нами с:
    21 сен 2019
    Сообщения:
    2
    Симпатии:
    0
    О добрые боги php, нужна ваша помощь:D, знания у меня минимальные, а задачу выполнить нужно.
    Честно скажу гуглил пол часа, конкретного под мои знания ответа не нашел.
    Имеется форма отправки письма, в input указан placeholder="Город", в обработке php, к значению подставляется "г.", но попадаются кому надо написать в input "г." и получается приходит письмо где два раза г. г. o_O.
    Собственно по теме нужно допилить обработчик, берем переменную, ищем в значении текст "г." если есть удаляем, если нет пропускаем как есть.
    Думаю задача проще некуда, с меня благодарность и пиво:rolleyes:
     
  2. Artur_hopf

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

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    PHP:
    1. <?php
    2. $needle = 'г.';
    3. $string = 'Казань';
    4. $result = ( stristr($string, $needle) === false ) ? $needle . ' ' . $string : $string;
    5.  
    6. echo $result;
    --- Добавлено ---
    но,
    PHP:
    1. $string='Гамбург.';
    поэтому смотрите в сторону strpos
    https://www.php.net/manual/ru/function.strpos.php
     
    Polearmik нравится это.
  3. Emilien

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

    С нами с:
    30 июн 2016
    Сообщения:
    246
    Симпатии:
    156
    PHP:
    1. $a = [ 'г. Ейск', 'Энск', 'Гамбург.' ];
    2. $a = preg_replace('#^(г\.|)\s*#', 'г. ', $a);
    3. print_r($a);
     
  4. Polearmik

    Polearmik Новичок

    С нами с:
    21 сен 2019
    Сообщения:
    2
    Симпатии:
    0
    Вариант рабочий, прикрутил. Насчет повторения я так понял нужно stristr заменить на strpos?
    И как добавить если к примеру пользователь не знает правил сокращения и указал только "г Казань" без точки?