我在变量中有一个html文本字符串:
$html = "<h1>title</h1><h2>subtitle 1</h2> <h2>subtitle 2</h2>";
所以我想在每个字幕中创建具有相同名称的锚点,然后将html代码打印到浏览器,并将字幕作为数组。
我认为正在使用正则表达式..请帮助。
答案 0 :(得分:1)
我认为这会为你解决问题:
$pattern = "|<h2>(.*)</h2>|U";
preg_match_all($pattern,$html,$matches);
foreach($matches[1] as $match)
$html = str_replace($match, "<a name='".$match."' />".$match, $html);
$array_of_elements = $matches[1];
在此代码启动之前,请确保$ html具有现有的html。然后在完成后将添加<a name='foo' />
,$ array_of_elements将具有匹配文本值的数组。