如何在< h2>?
之后添加数字范围请参阅下面的代码:
<pre>
<?php
$html='
<h2>hello</h2>
<p>hello world</p>
<h2>good</h2>
<p>godd day</p>
';
$nums=array(30,55);
// how can I replace $html and get result like this:
// put <span>xx</span> after </h2>
$html='
<h2>hello</h2><span>30</span>
<p>hello world</p>
<h2>good</h2><span>55</span>
<p>godd day</p>
';
答案 0 :(得分:2)
正如Mark Baker在评论中建议的那样,你可以使用preg_replace_callback()
perharps。
$html='
<h2>hello</h2>
<p>hello world</p>
<h2>good</h2>
<p>godd day</p>
';
$nums=array(30,55);
$index = 0;
function add_number($match) {
global $nums, $index;
return $match[0]."<span>".(@$nums[$index++])."</span>";
}
echo preg_replace_callback("/\/h2>/","add_number",$html);
如果您不想两次添加数字,可以将模式更改为/\/h2>(?!<span>)/
答案 1 :(得分:0)
也许可以使用
foreach ( $nums as $key => $val ) { .. }
并生成$ html。