使用PHP将特殊标签之间的HTML代码提取到一个数组中

Use PHP to extract HTML code between special tags into an array

使用下面的示例代码,我想提取每个 <<BEGIN>><<END>> 标记之间的所有代码,并将提取的代码附加到一个数组中,以便稍后进一步处理。

<?php
$html = '<<BEGIN>><div>Some text goes here...</div><<END>><<BEGIN>><table border="0"><tr><td>Table cell text goes here</td></tr></table><<END>><<BEGIN>><ul><li>My string</li><li>Another string</li></ul><<END>>';
?>

最终结果需要如下所示:

Array (
    [0] => '<div>Some text goes here...</div>'
    [1] => '<table border="0"><tr><td>Table cell text goes here</td></tr></table>'
    [2] => '<ul><li>My string</li><li>Another string</li></ul>'
)

希望这是有道理的。

如有任何帮助,我们将不胜感激。提前致谢。

使用 pretg_match_all() 函数来执行此操作。

<?php

    $html = '<<BEGIN>><div>Some text goes here...</div><<END>><<BEGIN>><table border="0"><tr><td>Table cell text goes here</td></tr></table><<END>><<BEGIN>><ul><li>My string</li><li>Another string</li></ul><<END>>';

    preg_match_all("/<<BEGIN>>(.*)<<END>>/", $html, $result);

    echo '<pre>';
    print_r($result[1]);
    echo '</pre>';

?>

显示页面的源代码,你会看到你想要的一切:) (, ...)

您可以从字符串的开头和结尾去掉 <<END>><<BEGIN>>,然后在 <<END>><<BEGIN>> 上展开。

$html = substr($html, 9);
$htmlleng = strlen($html) - 7;
$html = substr($html, 0, $htmlleng);
$myarray = explode('<<END>><<BEGIN>>', $html)

(你可以让它更优雅,但它显示了你需要完成的事情。)