如何使用PHP或正则表达式重新排列HTML?

如何使用PHP或正则表达式重新排列HTML?,php,regex,Php,Regex,我有不同的$slider['image']输出。下面是两个例子 第一个在开头和结尾都有和。 在第二个标签中,所有的标签都有和标签 一个 除了非常简单的任务外,用正则表达式做你想做的事情并不容易 您可以使用XML解析器,如或 您还可以查看以下两个库: 使用正则表达式解析HTML非常痛苦……请结合使用DOM解析器和XPath来解析HTML。PHP有一个,(DOMDocument),所以完全忘记正则表达式的想法,你是在浪费时间。HTML不是文本,HTML是一种标记语言,因此无法通过正则表达式成功

我有不同的
$slider['image']
输出。下面是两个例子

第一个在开头和结尾都有

。 在第二个标签中,所有的
标签都有

标签

一个
除了非常简单的任务外,用正则表达式做你想做的事情并不容易

您可以使用XML解析器,如或

您还可以查看以下两个库:


使用正则表达式解析HTML非常痛苦……请结合使用DOM解析器和XPath来解析HTML。PHP有一个,(
DOMDocument
),所以完全忘记正则表达式的想法,你是在浪费时间。HTML不是文本,HTML是一种标记语言,因此无法通过正则表达式成功解析。这一点在本网站和其他网站上可能每天重复一千次。从stackoverflow上投票最多的一个答案中可以得到一个提示:也许我是瞎子,但你的“全力投入”在标题前有图像,而你的问题在标题后有图像;或者至少,在“评论表”之后没有图像。哪一个是正确的?PHP DOMDocument在一定程度上也读取无效的HTML。其他一切都可以先通过tidy,以确保绝对安全。-quote:“与加载XML不同,HTML不需要格式良好才能加载。”
<p>
    <span>Homepage</span><img src="../../assets/images/prints/print2_600x300.gif" alt="" width="600" height="300">
    <span>Content Page</span><img src="../../../assets/images/support_images/imageA_600x300.gif" alt="" width="600" height="300">
    <span>Dropdown Menu</span><img src="../../../assets/images/support_images/imageB_600x300.gif" alt="" width="600" height="300">
    <span>Comments List</span><img src="../../../assets/images/support_images/imageC_600x300.gif" alt="" width="600" height="300">
    <span>Comment Form</span><img src="../../../assets/images/support_images/imageD_600x300.gif" alt="" width="600" height="300">
</p>
<p><span>Homepage</span></p>     
<p><img src="../../assets/images/prints/print2_600x300.gif" alt="" width="600" height="300"></p>
<p><span>Content Page</span></p>  
<p><img src="../../../assets/images/support_images/imageA_600x300.gif" alt="" 
width="600" height="300">
<p><span>Dropdown Menu</span></p>
<p><img src="../../../assets/images/support_images/imageB_600x300.gif" alt="" width="600" height="300"></p>
<p><span>Comments List</span></p>
<p><img src="../../../assets/images/support_images/imageC_600x300.gif" alt="" width="600" height="300"></p>
<p><span>Comment Form</span></p>
<p><img src="../../../assets/images/support_images/imageD_600x300.gif" alt="" width="600" height="300"
<li><span>Homepage</span><img alt="" src="assets/images/prints/print2_600x300.gif" /></li> 
<li><span>Content Page</span><img alt="" src="assets/images/support_images/imageA_600x300.gif" /></li> 
<li><span>Dropdown Menu</span><img alt="" src="assets/images/support_images/imageB_600x300.gif" /></li> 
<li><span>Comments List</span><img alt="" src="assets/images/support_images/imageC_600x300.gif" /></li> 
<li><span>Comment Form</span><img alt="" src="assets/images/support_images/imageD_600x300.gif" /></li>
[0] =>; Array
    (
        [id] => 12
        [name] => Print 2
        [shortdesc] => <p>Print 2 short description</p>
        [longdesc] => <p>Print 2 long description</p>

        [thumbnail] => <p><img src="../../assets/images/prints/thumbnails/print2_223x112.gif" alt="" width="223" height="112"></p>
        [image] => <p><img src="../../assets/images/prints/print2_600x300.gif" alt="" width="600" height="300">Homepage<img src="../../../assets/images/support_images/imageA_600x300.gif" alt="" width="600" height="300">Content Page<img src="../../../assets/images/support_images/imageB_600x300.gif" alt="" width="600" height="300">Dropdown Menu<img src="../../../assets/images/support_images/imageC_600x300.gif" alt="" width="600" height="300">Comment List<img src="../../../assets/images/support_images/imageD_600x300.gif" alt="" width="600" height="300">Comment Form</p>
        [product_order] => 0
        [class] =>
        [grouping] =>
        [status] => active
        [category_id] => 5
        [featured] => front
        [other_feature] => none
        [price] => 0.00
    )