我认为这是我需要的正则表达式。
我有一个文本输入,用户可以在其中搜索我的网站。
他们可能会在搜索词组之间使用“ELLER
”一词,其中英语等于“OR
”。
我的搜索引擎需要英文版,所以我需要用 OR 替换查询字符串中的所有 ELLER 。
我该怎么做?
不过,这是php ...由于
答案 0 :(得分:6)
如果您想要替换特定单词,则不需要正则表达式,您可以使用str_replace
代替:
$string = str_replace("ELLER", "OR", $string);
当您要查找的内容不是动态的时,使用PHP的字符串函数将比使用正则表达式更快。</ p>
如果您希望确保ELLER
仅在全字匹配时替换,而不包含在其他字词中,则可以使用preg_replace
和word boundary锚点( \b
):
$string = preg_replace('/\bELLER\b/', 'OR', $string);
答案 1 :(得分:5)
str_replace("ELLER", "OR", $string);
答案 2 :(得分:0)
还应注意,您还可以传递str_replace要更改的值数组,并将值数组更改为:
str_replace(array('item 1', 'item 2'), 'items', $string);
或
str_replace(array('item 1', 'item 2'), array('1 item', '2 item'), $string);
答案 3 :(得分:0)
<?php
// data
$name = "Daniel";
$order = 132456;
// String to be searched
$string = "Hi [name], thank you for the order [order_id]. The order is for [name]";
// replace rules - replace [name] with $name(Danile) AND [order_id] with $order(123456)
$text_to_send = str_replace(array('[name]', '[order_id]'), array($name, $order), $string);
// print the result
echo $text_to_send;
“嗨,达米埃尔,谢谢您的订单123456。该订单是给丹尼尔的。”