我想创建一个函数,用于在特定字符串周围添加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>";
我该如何做到这一点?
答案 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:
$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>