preg_replace - 如何删除标签内的内容?
说我有这个。
$string = "<div class=\"name\">anyting</div>1234<div class=\"name\">anyting</div>abcd";
$regex = "#([<]div)(.*)([<]/div[>])#";
echo preg_replace($regex,'',$string);
输出是 abcd
但我想要 1234abcd
我该怎么做?
Say I have this.
$string = "<div class=\"name\">anyting</div>1234<div class=\"name\">anyting</div>abcd";
$regex = "#([<]div)(.*)([<]/div[>])#";
echo preg_replace($regex,'',$string);
The output is
abcd
But I want
1234abcd
How do I do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
像这样:
如果您也想删除 div:
仅用类名替换 div 中的内容,而不替换其他类:
Like this:
If you want to remove the divs too:
To replace only the content in the divs with class name and not other classes:
实例:
http://codepad.org/1XEC33sc
Live example:
http://codepad.org/1XEC33sc
添加
?
,它将找到第一个出现的http://sandbox.phpcode。欧盟/g/c201b/3
add
?
, it will find FIRST occurencehttp://sandbox.phpcode.eu/g/c201b/3
这可能是一个简单的示例,但如果您有一个更复杂的示例,请使用 HTML/XML 解析器。例如,使用
DOMDocument
:您必须执行哪个查询使用或是否必须以其他方式处理 DOM 树,取决于您拥有的特定内容。
This might be a simple example, but if you have a more complex one, use an HTML/XML parser. For example with
DOMDocument
:Which query you have to use or whether you have to process the DOM tree in some other way, depends on the particular content you have.