我有这个字符串:
<li id="1">3431233</li>
<li id="2">fsdfdsfsdfdsfdsf</li>
<li id="3">abc</li>
<li id="4"> fdsf2342343</li>
<li id="5">123</li>我只想将那些包含abc或123的行替换为空(在本例中为第3行和第5行)。我的问题是这个正则表达式不起作用:
^<li>abc<\/li>它将替换所有列表。我怎么能只将替换限制在某一行?每一行的li都是不同的,这是动态的,我不知道它们看起来是什么样子(它们可能有什么类和ids )。
谢谢!
发布于 2013-05-06 15:41:37
试试
^<li id="[0-9]">(abc|123|)<\/li>如果id增长,则使用[0-9]+
^<li id="[0-9]+">(abc|123|)<\/li>发布于 2013-05-06 15:33:43
试一试
^<li>(abc|123|)<\/li>我在here上测试了一下,它正常工作了
发布于 2013-05-06 15:32:45
只需使用str_replace
<?php
  str_replace("<li>abc</li>"," ", $yourstring);
  str_replace("<li>123</li>"," ", $yourstring);EDIT :尝试以下命令:
    '/<li(.*)>(abc|123)<\/li>/';https://stackoverflow.com/questions/16394060
复制相似问题