使用preg_Match php获取包装元素
我需要一个preg_match代码,它将检测给定的字符串并获取其包装元素。 我有一个字符串和一个html代码,如下所示:
$string = "My text";
$html = "<div><p class='text'>My text</p><span>My text</span></div>";
所以我需要创建一个函数,该函数将返回包装字符串的元素,如下所示:
$element = get_wrapper($string, $html);
function get_wrapper($str, $code){
//code here that has preg_match and return the wrapper element
}
返回值将是数组,因为它有两个可能的返回值:<p class='text'></p>
和<span></span>
任何人都可以给我一个正则表达式模式,告诉我如何获取包装给定字符串的HTML元素?
谢谢!非常感谢您的回答。
解决方案
即使regex永远不是DOM解析领域的正确答案,我也得出了另一个(相当简单的)解决方案
<[^>/]+?>My String</.+?>
如果html是好的(即它有结束标记,<;将替换为<;&;,依此类推)。这样,您在第一个正则表达式组中具有开始标记,在第二个组中具有结束标记。
相关文章