更新:
谢谢大家的意见。一些附加信息。
它实际上只是我正在使用的一小部分标记(20 行),目的是利用正则表达式来完成工作。
我还能够修改脚本(电子商务脚本)以在构建导航时插入类。我想限制我所采用的黑客数量,以便在更新到软件的最新版本时让事情变得更容易。
话虽如此,我很清楚自己的处境以及我可以选择的各种选择。我的正则表达式的第一部分按预期工作。我发帖或多或少是为了看看是否有人会说,“嘿傻瓜,这很容易,只需更改此......”
经过我的一些努力后,现在更多的是原则。只是知道(并学习)这个问题的解决方案。我也讨厌被一段代码打败。
原来的:
我正在尝试利用正则表达式将 CSS a 类添加到有序列表中的第一个和最后一个列表项。我尝试了很多不同的方法,但无法产生我想要的结果。
我有第一个列表项的正则表达式,但似乎无法找出最后一个列表项的正确表达式。这是我正在处理的内容:
$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);
任何帮助将不胜感激。
杰米·扎温斯基 http://www.jwz.org/将有对此有话要说 http://fishbowl.pastiche.org/2003/08/18/beware_regular_expressions/...
你有合适的 HTML 解析器吗?我不知道是否有类似的事情hpricot http://code.whytheluckystiff.net/hpricot/可用于 PHP,但这是处理它的正确方法。您至少可以使用 hpricot 为您进行第一次清理。
如果您确实要生成 HTML,请在那里进行。看起来您想生成一些导航并有一个.first
and .last
诸如此类的事情。退后一步尝试一下。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)