我有html,我想要完成的是以下内容:
anchor
链接的文字。anchor link
详细信息并在html
anchor link
。所以,这是起始的html:
<html>
<body>
<a href="somelink">Some text</a>
<p>Some paragraph text</p>
<a href="someotherlink">Some other text</a>
</body>
</html>
这是替换后生成的html:
<html>
<body>
{articleLink0}
<p>Some paragraph text</p>
{articleLink1}
</body>
</html>
然后,在数据结构中,它将被构建为。正如您所看到的,索引位置会被反映出来(例如{articleLink0}
会腐蚀到$data[0]
。
$data = array(
0 => array('href'=>'somelink','text'=>'Some text'),
1 => array('href'=>'someotherlink','text'=>'Some other text')
);
最后,我需要一种将内容放回数据结构中指定位置的方法。
答案 0 :(得分:0)
循环遍历$data
数组,生成一个包含所呈现的a
标记的字符串,使用索引生成替换字符串,最后用生成的a
标记替换替换字符串
a
标记呈现=&gt;常规字符串连接str_replace
这样的事情应该有效:
foreach ($data as $key => $value) {
// value and href have to be escaped, if they contain unsafe characters
$aTag = sprintf('<a href="%s">%s</a>', $value['href'], $value['text']);
$toReplace = sprintf('{articleLink%d}', $key);
$htmlContent = str_replace($toReplace, $aTag, $htmlContent);
}