Как заменить ввод пользователя в php

Я молюсь, чтобы мой вопрос не сбивал с толку. Я создал поисковую систему, в которой люди могут выполнять поиск по городу и штату, например, "Атланта, Джорджия". Я хочу, независимо от того, как они его набирают, будь то Атланта, Джорджия, или Атланта, Джорджия, или Атланта, Джорджия, он все равно найдет результаты . Теперь я попытался сделать это с помощью PHP STR и не знаю, правильно ли это. Вот мой код. Спасибо.

 $userinput=$request->input('cityandstate');

 $stq=str_replace(",",", ", $userinput);  

Требует ли ваша поисковая система, чтобы город и штат были похожи на <город>, запятую <состояние>?

Nick 19.09.2018 05:45

да, но иногда есть люди, которые не соблюдают это правило, поэтому я просто хочу подготовиться к этому

codingisfun22 19.09.2018 05:48
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
199
2

Ответы 2

Это заменит любую запятую в строке ничем.

$stq = str_replace(",", "", $userinput);

См. http://php.net/manual/en/function.str-replace.php

str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

Это не поможет вам, если пользователь вводит Atlanta - GA, и вам может быть лучше использовать preg_replace http://php.net/manual/en/function.preg-replace.php

Хорошо, я попробую это

codingisfun22 19.09.2018 05:49

Я попробовал, и это сработало, быстрый вопрос, могу ли я также сделать что-то вроде этого Miami, fl, замененного на Miami, fl? Я пробовал сделать это $ stq = str_replace (",", ",", $ userinputt);

codingisfun22 20.09.2018 21:43

это не работает. Я сделал $ stq = str_replace (",", ",", $ userinputt); Это не заменяет Майами, Флорида, Майами, Флорида.

codingisfun22 21.09.2018 01:10

Похоже, у вас есть орфографическая ошибка? $ userinputt имеет дополнительный t? Это сработало для меня. $ userinput = "Атланта, Джорджия"; $ newString = str_replace (",", ",", $ userinput); echo $ newString;

Rod Staines 21.09.2018 01:15

но $ userinputt - это то, что я назвал переменной

codingisfun22 21.09.2018 05:32

Скопируйте код, который я написал выше, и попробуйте. Это определенно сработало для меня.

Rod Staines 21.09.2018 05:56

Вы можете использовать preg_replace, чтобы ввести пользовательский ввод в точную форму, требуемую вашей поисковой системой. preg_replace позволяет вам вводить все виды ввода с несколькими пробелами и с запятыми или без них:

$userinputs =array("Atlanta  GA", "Atlanta,GA", "Atlanta , GA", "Atlanta, GA ", " Atlanta   ,GA");
foreach ($userinputs as $userinput) {
   $stq = preg_replace('/^\s*(\w+)\s*,?\s*(\w+)\s*$/', '$1, $2', $userinput);
   echo "$stq\n";
}    

Выход:

Atlanta, GA
Atlanta, GA
Atlanta, GA
Atlanta, GA
Atlanta, GA

Другие вопросы по теме