我正在尝试替换除一个键值之外的所有数组值。我正在使用preg_replace
并拥有此代码:
$posts = json_decode($post_list, true);
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);
}
我的帖子var看起来像这样:pastebin我想不改变“slug”键的值我怎么能这样做?
答案 0 :(得分:0)
我建议您不要使用标记修改json数据对象。数据与标记不同。
标记应该在渲染输出上,因此您的步骤应该是生成的标记上的jQuery / javascript。
在javascript中,您应该检查&#39; slug&#39;并尽早回归。在那之后,替换可能是微不足道的,或者至少比我之前的回答更容易:
如果我理解正确,你希望你的数组中每个记录都包含所有键,除了slug键。
我使用负向前瞻一点,然后来到这个解决方案:
(\{|,)\"(?!slug).*?\"
您可以在以下位置查看: http://regex101.com/r/bU9bL4/1
如果这不能完全满足您的需求,请提供您想要的修改的更好描述,包括一些示例。