str_ireplace()-我可以获取要替换的字符串吗?

时间:2019-04-02 09:35:34

标签: php

我有以下字符串。

$string = "Welcome to Lorien.";
$search = "welcome";

现在我想在$search中搜索$string,而忽略大小写,所以:

$result = str_ireplace($search,  '<b>'.$search.'</b>' ,$string);

$result应该看起来像这样:欢迎到洛里安。

有没有一种我可以使用$string的情况的方法,所以它看起来像这样:欢迎到洛里恩。

喜欢获取要替换的字符串部分并使用它吗?

2 个答案:

答案 0 :(得分:3)

您可以为此使用preg_replace()

$string = "Welcome to Lorien.";
$search = "welcome";

$result = preg_replace("/{$search}/i", '<b>$0</b>', $string);
  • /i标志使匹配的大小写不敏感。
  • $0将替换为原始字符串中匹配的字符串,因此大小写始终正确。

演示:https://3v4l.org/vN9Km

答案 1 :(得分:0)

Op希望找到具有给定模式的字符串,该字符串不区分大小写,如果我正确输入的话,请使用大写和粗体。

如果是这样,这就是需要做的事情。

<?php

$string = "Welcome to Lorien.";
$search = "welcome";

echo str_ireplace($search, '<b>'.ucwords($search).'</b>', $string);
// Outputs: <b>Welcome</b> to Lorien.

示例:https://3v4l.org/Gmsqp