我可以编写哪些PHP或jQuery可以自动在元素(通常是<p>
标记)中找到短语的第一个实例(例如“每日摘要”)并自动在文本周围添加一个范围我选择的一类?
换句话说,我希望页面上任何元素内的短语“Daily Digest”的第一个实例以红色突出显示,而用户不必在文本周围添加跨度(因为人们使用该网站是代码文盲)。如果短语在div
或其他元素中被多次使用,我只希望突出显示第一个实例。
答案 0 :(得分:2)
试试这个:
$content = preg_replace('/'.$word.'/i', '<span class="red">$0</span>', $content);
在preg_replace上查看更多内容。
代码测试。它有效。
答案 1 :(得分:1)
$(body).filter(function() {
return $("p", this).text() == "Daily Digest";
}).wrapAll("<span class='myClass'></span>");
注意 - 这会找到<p>Daily Digest</p>
的所有实例,并将其转换为<span class='myClass'><p>Daily Digest</p></span>
。我会让你知道如何只在某个元素中的第一个实例上做到这一点。
答案 2 :(得分:0)
检查
$testwords= preg_replace('/'.$contents.'/i', '<span class="sample">Sample Content</span>', $testwords);