Php DOMDocument:查找div,获取内容,打印时不带div
我想使用DOMDocument或其他建议的方法在wordpess中执行以下操作: 我已将此html保存在变量中:Php DOMDocument:查找div,获取内容,打印时不带div,php,wordpress,domdocument,Php,Wordpress,Domdocument,我想使用DOMDocument或其他建议的方法在wordpess中执行以下操作: 我已将此html保存在变量中: <div id="gallery-3232" class="gallery gallery-3232"> <li><a href=""><img src="" alt="" /></li> <li><a href=""><img src="" alt="" /></li> &l
<div id="gallery-3232" class="gallery gallery-3232">
<li><a href=""><img src="" alt="" /></li>
<li><a href=""><img src="" alt="" /></li>
<li><a href=""><img src="" alt="" /></li>
<li><a href=""><img src="" alt="" /></li>
</div>
我想以一个变量结束,该变量包含:
<li><a href=""><img src="" alt="" /></li>
<li><a href=""><img src="" alt="" /></li>
<li><a href=""><img src="" alt="" /></li>
<li><a href=""><img src="" alt="" /></li>
如果没有javascript,我怎么做呢。使用PHP
Thabnk you这里有一种快速而肮脏的使用正则表达式的方法:
$string = preg_replace('~</?div[^>]*>~', '', $string);
注意:就像我说的,这是一种快速而肮脏的方式。如果你确定你的输入-使用这个。但是,如果要过滤不确定的输入,最好对其进行正确的解析。这里有一种使用正则表达式的快捷方法:
$string = preg_replace('~</?div[^>]*>~', '', $string);
注意:就像我说的,这是一种快速而肮脏的方式。如果你确定你的输入-使用这个。但是,如果您要过滤不确定的输入,最好对其进行正确的解析。我刚刚测试了这个,我认为这正是您需要的。基本上,将HTML加载到DOMDocument中,按ID获取所需的元素,然后遍历其子节点并输出:
$html = '<div id="gallery-3232" class="gallery gallery-3232">
<li><a href=""><img src="" alt="" /></li>
<li><a href=""><img src="" alt="" /></li>
<li><a href=""><img src="" alt="" /></li>
<li><a href=""><img src="" alt="" /></li>
</div>
';
$doc = new DomDocument();
$doc->loadHtml($html);
$div = $doc->getElementById('gallery-3232');
$output = '';
foreach($div->childNodes as $element)
{
$output .= $element->ownerDocument->saveHtml($element);
}
echo $output;
我刚刚测试了这个,我想这是你需要的。基本上,将HTML加载到DOMDocument中,按ID获取所需的元素,然后遍历其子节点并输出:
$html = '<div id="gallery-3232" class="gallery gallery-3232">
<li><a href=""><img src="" alt="" /></li>
<li><a href=""><img src="" alt="" /></li>
<li><a href=""><img src="" alt="" /></li>
<li><a href=""><img src="" alt="" /></li>
</div>
';
$doc = new DomDocument();
$doc->loadHtml($html);
$div = $doc->getElementById('gallery-3232');
$output = '';
foreach($div->childNodes as $element)
{
$output .= $element->ownerDocument->saveHtml($element);
}
echo $output;
太棒了,它能工作!!我理解你的意思,我想更仔细地分析它,这就是为什么我要调查DOMDocument,但现在它很好。很好,它很有效!!我理解你们的意思,我想更仔细地分析它,这就是为什么我要调查DOMDocument,但现在它很棒。我喜欢这个答案,更简洁。我以前没有见过C14N函数。我喜欢这个答案,更简洁。我以前从未见过C14N函数。我们的答案非常相似!老实说,我认为你的答案也一样好。我们的答案非常相似!如果我诚实的话,我认为你的也一样好。