$string = '<ul>
<li id="34334" class="some_class"><a href="/stack/">Text</a></li>
<li id="someid" class="more_class"><a href="/overflow/">Text</a></li>
</ul>';
我需要什么(实际上不知道该怎么办,请帮忙):
<a>
<li>
href
<a>
== /stack/
,则为父current
<li>
醇>
就像,如果我们正在搜索/stack/
,我们应该得到这个:
$string = '<ul>
<li id="34334" class="some_class current"><a href="/stack/">Text</a></li>
<li id="someid" class="more_class"><a href="/overflow/">Text</a></li>
<li id="34334" class="some_class current"><a href="/stack/">Text</a></li>
</ul>';
答案 0 :(得分:2)
$string = '<ul>
<li class="some_class"><a href="/stack/">Text</a></li>
<li class="more_class"><a href="/overflow/">Text</a></li>
</ul>';
$new_string = preg_replace('/(<li( +id="[^"]*")? +class=")([^"]*)(" *>)( *<a +href="\/stack\/">)/', '$1$3 current$4$5', $string);
注意:已更新
答案 1 :(得分:1)
使用jquery
$(document).ready(function(){
$('li > a[href*="stack"]').parent().addClass('newclass');});