【发布时间】:2014-12-03 17:01:39
【问题描述】:
我正在尝试将preg_replace 与preg_quote 一起使用。
我有一个 json 数据对象数组和我想要的
替换除一个键值之外的所有键值
下面是输入数组的基本结构:
$posts = [{"title":"Test owy post avela","subtitle":"test subtitle",
"slug":"test owy-post-laravela-4", "created_at":"2014-11-02"},
{...} ]
我需要将tes 的所有值替换为<span>tes</span>,除了slug 键的值
下面是生成$posts的代码
$posts = Post::where('title', 'LIKE', '%'.$s.'%')->orWhere('content', 'LIKE', '%'.$s.'%')->get()->toArray();
foreach($posts as &$elm){
$elm = array_map(function($i) use($s){
return preg_replace("/(" . preg_quote($s) . ")/is", "<span style='background: #92CF18;'>$1</span>", $i);
}, $elm);
}
【问题讨论】:
-
您需要发布
preg_quote返回的正则表达式
标签: php regex preg-replace preg-quote