在特定字符串之前和之后添加div

时间:2016-06-12 15:09:44

标签: php string

我想创建一个函数,用于在特定字符串周围添加div。

当前(伪)代码:

$string = "bla bla bla bla bla bla GOD";

function addClass($string) {

    if ( // contain word "GOD") {

        return "<div class=mark>GOD</div>";     

    }

}

结果将是:

$result = "bla bla bla bla bla bla <div class=mark>GOD</div>";

我该如何做到这一点?

2 个答案:

答案 0 :(得分:2)

您必须使用正则表达式来查找确切的单词。我想这会做到这一点:

echo preg_replace('/\bGOD\b/', '<div class="mark">GOD</div>', "bla bla bla bla bla bla GOD");

PHP演示:https://eval.in/587613
正则表达式演示:https://regex101.com/r/kU4kA2/1

答案 1 :(得分:2)

您可以像这样使用preg_replace:

DEMO

$string = "bla bla bla bla bla bla GOD";

$searchString = "GOD";

echo preg_replace("/\b($searchString)\b/", "<div class=mark>$1</div>", $string);

结果:

bla bla bla bla bla bla <div class="mark">GOD</div>

如果您需要功能:

function addClass($string) {
    $searchString = "GOD";
    return preg_replace("/\b($searchString)\b/", "<div class=mark>$1</div>", $string);
}

echo addClass($string);
如果有多个“GOD”字符串,

更新: 会有效吗?

对于此"bla GOD bla GODisGreat bla bla GOD"

结果是:

bla <div class=mark>GOD</div> bla GODisGreat bla bla <div class=mark>GOD</div>