найти строку для конкретного слова и заменить его - PullRequest
3 голосов
/ 17 сентября 2010

Я думаю, что это регулярное выражение, которое мне нужно.

У меня есть текстовый ввод, где пользователи могут искать мой сайт.Они могут использовать слово "ELLER" между поисковыми фразами, которое на английском языке равно "OR".

Однако моей поисковой системе требуется его на английском языке, поэтому мне нужно заменить все ELLER в строке запроса с ИЛИ .

Как я могу это сделать?

Кстати, это php ...

Спасибо

Ответы [ 3 ]

6 голосов
/ 17 сентября 2010

Если у вас есть конкретное слово, которое вы хотите заменить, регулярное выражение не требуется, вместо него можно использовать str_replace:

$string = str_replace("ELLER", "OR", $string);

Когда то, что вы ищете, не является динамическим, использование строковых функций PHP будет быстрее, чем использование регулярных выражений.

Если вы хотите убедиться, что ELLER заменяется только в случае совпадения с полным словом и не содержится в другом слове, вы можете использовать preg_replace и границу слова якорь (\b):

$string = preg_replace('/\bELLER\b/', 'OR', $string);
5 голосов
/ 17 сентября 2010
str_replace("ELLER", "OR", $string);

http://php.net/manual/de/function.str-replace.php

0 голосов
/ 17 сентября 2010

Следует также отметить, что вы также можете передать str_replace массив значений для изменения и массив значений для изменения, например:

str_replace(array('item 1', 'item 2'), 'items', $string);

или

str_replace(array('item 1', 'item 2'), array('1 item', '2 item'), $string);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...