首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP:如何使用正则表达式只替换一行?

PHP:如何使用正则表达式只替换一行?
EN

Stack Overflow用户
提问于 2013-05-06 15:28:18
回答 3查看 81关注 0票数 1

我有这个字符串:

代码语言:javascript
运行
复制
<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行)。我的问题是这个正则表达式不起作用:

代码语言:javascript
运行
复制
^<li>abc<\/li>

它将替换所有列表。我怎么能只将替换限制在某一行?每一行的li都是不同的,这是动态的,我不知道它们看起来是什么样子(它们可能有什么类和ids )。

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-06 15:41:37

试试

代码语言:javascript
运行
复制
^<li id="[0-9]">(abc|123|)<\/li>

如果id增长,则使用[0-9]+

代码语言:javascript
运行
复制
^<li id="[0-9]+">(abc|123|)<\/li>
票数 2
EN

Stack Overflow用户

发布于 2013-05-06 15:33:43

试一试

代码语言:javascript
运行
复制
^<li>(abc|123|)<\/li>

我在here上测试了一下,它正常工作了

票数 3
EN

Stack Overflow用户

发布于 2013-05-06 15:32:45

只需使用str_replace

代码语言:javascript
运行
复制
<?php
  str_replace("<li>abc</li>"," ", $yourstring);
  str_replace("<li>123</li>"," ", $yourstring);

EDIT :尝试以下命令:

代码语言:javascript
运行
复制
    '/<li(.*)>(abc|123)<\/li>/';
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16394060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档