我正在寻找一种在 PHP 中搜索字符串并删除的方法"<pre","</pre>"以及介于两者之间的所有内容。
例子:
$string = 'Hello, I am a little text. <pre class="foo">This should be deleted.</pre> This is fine again.';
// Some magic function
$newString = 'Hello, I am a little text. This is fine again.';
Run Code Online (Sandbox Code Playgroud)
有什么办法吗?如果我使用strip_tags(),则只会删除标签,但现在会删除标签内的内容。
非常感谢!
如果它只是一个小字符串,我不推荐它,但正则表达式在这里没问题。
$newString = preg_replace('~<pre[^>]*>[^<]*</pre>~', '', $str);
Run Code Online (Sandbox Code Playgroud)
但是,我在处理 HTML/XML 时总是使用DOM。
$doc = new DOMDocument;
$doc->loadHTML($html);
foreach ($doc->getElementsByTagName('pre') as $tag) {
$tag->parentNode->removeChild($tag);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1368 次 |
| 最近记录: |