更新: 谢谢大家的意见。一些额外的信息。需要一个正则表达式来将css类添加到第一个和最后一个列表项
这实际上只是我正在使用的一小部分标记(20行),旨在利用正则表达式来完成这项工作。
我也有能力破解脚本(电子商务之一)插入类作为导航建立。我想要限制我使用的黑客数量,以便在更新到最新版本的软件时让事情更轻松。
就这样说,我很了解我的情况和各种可供选择的选项。我的正则表达式的第一部分按预期工作。我真的或多或少地看到有人会说,“嘿哑,这很容易,只是改变这个......”
在我的努力几近结束后,这是更多的原则在这点。只知道(并学习)这个问题的解决方案。我也讨厌被一段代码殴打。
ORIGINAL:
我试图利用正则表达式类添加CSS到第一和最后一个列表项的有序列表中。我尝试了一堆不同的方式,但无法产生我期待的结果。
我已经有了第一个列表项的正则表达式,但似乎无法找到最后一个正确的表达式。这是我正在与:
$patterns = array('/<ul+([^<]*)<li/m', '/<([^<]*)(?<=<li)(.*)<\/ul>/s');
$replace = array('<ul$1<li class="first"','<li class="last"$2$3</ul>');
$navigation = preg_replace($patterns, $replace, $navigation);
任何帮助将不胜感激。
如果您希望能够使用任何HTML代码执行此操作,正则表达式不是一个合适的解决方案。如果你想用特定的HTML做这件事,你应该发布它,所以我们有一个样本来测试你的正则表达式。 – 2008-12-01 07:47:10