在PHP中使用<h2> </h2>的内容在页面中创建锚点

时间:2010-06-27 01:34:38

标签: php html regex

我在变量中有一个html文本字符串:

$html = "<h1>title</h1><h2>subtitle 1</h2> <h2>subtitle 2</h2>";

所以我想在每个字幕中创建具有相同名称的锚点,然后将html代码打印到浏览器,并将字幕作为数组。

我认为正在使用正则表达式..请帮助。

1 个答案:

答案 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将具有匹配文本值的数组。