CSS veya JavaScript kullanarak olmadan - I ya-olmayabilir çeşitli pozisyonlarda sublists içerebilir bir listedeki son top level LI başlangıç etiketi hedef gerekir.
Bu konuda yardımcı olabilir basit / zarif bir sıradanifade var mı? Ben w / onları hiçbir gurusu değilim, ama tüm orta metni seçip olduğumda açgözlü / non-açgözlü seçiciler için ihtiyaç belirir (. *) / Iç içe listeleri olarak (. +) Değişiklikler eklendi ve etrafında taşınır listesi - ve bu beni atıyor.
$pattern = '/^(<ul>.*)<li>(.+<\/li><\/ul>)$/';
$replacement = '$1<li id="lastLi">$3';
Belki daha kolay bir yaklaşım var? LI hedef ve sonra geri dönüştürmek için XML dönüştürme?
ie: Single Element
<ul>
<li>TARGET</li>
</ul>
Birden Elemanları
<ul>
<li>foo</li>
<li>TARGET</li>
</ul>
Sonuna kadar iç içe Listesi
<ul>
<li>
foo
<ul>
<li>bar</li>
</ul>
<li>
<li>TARGET</li>
</ul>
Sonunda iç içe Listesi
<ul>
<li>foo</li>
<li>
TARGET
<ul>
<li>bar</li>
</ul>
</li>
</ul>