你好如果我想要这个文字:
$content = '<div id="hey">
<div id="bla"></div>
</div>
<div id="hey">
hey lol
</div>';
可以更改id =“hey”内的内容 现在我想得到数组中的标签
$array[0] = < div id="bla"></div >;
$array[1] = < hey lol >;
我该怎么做?我虽然关于preg_match_all
?
答案 0 :(得分:2)
听起来对我来说,如果我理解正确的话,你就是要用PHP解析HTML。虽然正则表达式可以工作,但它肯定不是最好的方法。
说到这里,看看DOMDocument
课程。它允许您解析HTML文件,并且在按引号,标识等引用元素方面具有类似于javascript的方法。
根据您的示例:
<?php
$html = '<div id="hey">hey lol</div>'; /* or file_get_contents('...'); */
$dom = new DOMDocument();
$dom->loadHTML($html);
// this will get <div id="hey"></div>
$hey_div = $dom->getElementById('hey');
echo $hey_div->textContent; // "hey lol"
答案 1 :(得分:0)
$content=str_replace("hey","bla",$content);
OR
$divid="hey";
//$divid="bla";
$content = '<div id="' . $divid . '">
<div id="bla"></div>
</div>
<div id="hey">
hey lol
</div>';