我有一个这样的关联数组
$my_links = [
'city 1' => 'http://link1',
'city 2' => 'http://link2',
'Head Office' => 'http://link3'
];
和一些类似的html。 html是由脚本(wordpress博客内容)动态生成的。。
<p>
You can visit our stores at City 1
and City 2,
or visit our Head office.
</p>
必需的输出:使用高于array
的索引
<p>
You can visit our stores at <a href="http://link1">City 1</a>
and <a href="http://link2">City 2</a>,
or visit our <a href="http://link3">Head office</a>.
</p>
如何使用PHP
和/或JQuery
实现这一目标?
答案 0 :(得分:3)
只需使用数组引用:
<p>
You can visit our stores at <a href="<?php echo $my_links['city 1']; ?>">City 1</a>
and <a href="<?php echo $my_links['city 2']; ?>">City 2</a>,
or visit our <a href="<?php echo $my_links['Head Office']; ?>">Head office</a>.
</p>
答案 1 :(得分:3)
<?php
$my_links = [
'city 1' => 'http://link1',
'city 2' => 'http://link2',
'Head Office' => 'http://link3'
];
$str = "<p>
You can visit our stores at City 1
and City 2,
or visit our Head office.
</p>";
foreach ($my_links as $link_title => $link) {
$str = str_ireplace($link_title,"<a href='$link'>".ucwords($link_title)."</a>",$str);
}
echo $str;
环顾您的$my_links
。找到字符串中存在的链接标题,然后使用str_ireplace()用锚标记替换链接标题。
答案 2 :(得分:2)
如果您的内容来自PHP,请使用PHP的str_replace()函数。
此函数的三个参数搜索目的:
搜索:字符串或数组
替换:字符串或数组
实际字符串:字符串
如果search
和replace
是数组,则它们的元素计数应该相同。
现在,找到诸如City 1,City 2和Head Office之类的字符串段,并通过在其上添加<a href="...
来替换它们。
代码:
<?php
$my_links = [
'city 1' => 'http://link1',
'city 2' => 'http://link2',
'Head Office' => 'http://link3'
];
$content = '<p>
You can visit our stores at City 1
and City 2,
or visit our Head office.
</p>';
$find = ['City 1', 'City 2', 'Head office'];
$replace = [
'<a href="'.$my_links['city 1'] . '">City 1</a>',
'<a href="'.$my_links['city 2'] . '">City 2</a>',
'<a href="'.$my_links['Head Office'] . '">Head Office</a>',
];
echo str_replace($find, $replace, $content);
?>
快速更新:
请使用str_ireplace()而不是上面讨论的str_replace()
,因为我们不区分大小写,例如city 1
与City 1
。此功能与str_replace()
相同,只是不区分大小写。
答案 3 :(得分:1)
您可以尝试
<p>
You can visit our stores at <a href="<?=$my_links['city 1']?>">City 1</a>
and <a href="<?=$my_links['city 2']?>">City 2</a>,
or visit our <a href="<?=$my_links['Head Office']?>">Head office</a>.
</p>