我整天都在努力实现这一目标,但没有任何进展。
我有这部分代码
$LookUpData =array(
ID1 => '<div> First </div>',
ID2 => '<p>Second</p>'
);
$tagData = $LookUpData[ID1];
print_r($tagData);
在这种情况下我得到的输出是: 第一
理想的情况是,如果我得到:
0 => <div>
1 => First
2 => </div>
我希望你明白我的问题是什么,我需要什么。欢迎各种帮助。
答案 0 :(得分:0)
$matches = array();
preg_match("/(<[^>]+>)(.*)(<\/[^>]>)/", "<div>First</div>", $matches);
var_dump($matches);
应该足以让你入门
答案 1 :(得分:0)
解决问题的代码
<?php
$LookUpData =array(
'ID1' => '<div> First </div>',
'ID2' => '<p>Second</p>'
);
$tagData = $LookUpData['ID1'];
preg_match('#(<.*?>)(.*)(</.*?>)#', $LookUpData['ID1'],$m);
unset($m[0]);
print_r($m);
?>
代码输出:
Array ( [1] => <div> [2] => First [3] => </div> )
说明:
模式说明:
##
- 是定义模式开始和结束的字符(<.*?>)
- 是一个子模式,用于查找&lt;&gt;之间的任何字符它适合等。
(.*)
- 这是任何角色(几乎任何角色)(</.*?>)
- 这次关闭标签的另一个子模式几乎与第一个相同。Online demo - 注意代码在浏览器中正确显示有点不同(html标签)