开发者

search string for specific word and replace it

I think it is a regex I need.

I have a text-input where users may search my website. They may use the word "ELLER" between search phrases, which is in english equal to "OR".

My search engine however, requires开发者_开发技巧 it in english, so I need to replace all ELLER in the query string with OR instead.

How can I do this?

Btw, it is php...

Thanks


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

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


If you have a specific word you want to replace, there's no need for regex, you can use str_replace instead:

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

When what you're looking for is not dynamic, using PHP's string functions will be faster than using regular expressions.

If you want to ensure that ELLER is only replaced when it is a full-word match, and not contained within another word, you can use preg_replace and the word boundary anchor (\b):

$string = preg_replace('/\bELLER\b/', 'OR', $string);


Should note too that you can also pass str_replace an array of values to change and an array of values to change to such as:

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

or

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


<?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;

"Hi Damiel, thank you for the order 123456. The order is for Daniel"

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜