将div中的href更改为普通文本

时间:2016-03-26 17:05:31

标签: javascript php html

我有一个问题。在我的网站上,我有<div id="alpha_bravo">,里面有链接。它看起来像这样:

<div id="alpha_bravo">
  <p>text text text <a href="...">link</a></p>
</div>

我希望将每个<a href...>更改为有趣的文字,例如suprise,作为示例。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

由于您使用PHP标记了问题,并且从下面的注释中看起来您可能想要使用服务器端功能,我将使用PHP提供示例。

一种方法是仅替换链接。您正在寻找preg_replace()函数,它将基于正则表达式模式替换字符串中的所有子字符串。

$input = "<div id='alpha_bravo'><p>text text text <a href='...'>link</a> and <a href='...'>another link</a></p></div>";
$output = preg_replace("/<a (.*?)>(.*?)<\/a>/i", "surprise", $input);

您也可以使用strip_tags()函数删除字符串中的所有HTML标记。

$input = "<div id='alpha_bravo'><p>text text text <a href='...'>link</a> and <a href='...'>another link</a></p></div>";
$output = strip_tags($input);

答案 1 :(得分:0)

鉴于这是来自数据库,首先建议您在将输入保存到数据库之前过滤输入。

其次,如果您不希望这些链接呈现并用其他值替换它们,那么请使用PHP的函数preg_replace(),如PetrHejda已经提到的那样。

PHP文档:http://php.net/manual/en/function.preg-replace.php

如果用户插入样式和类,则<a ...>...</a>模式可能会有所不同。 尝试使用此模式作为解决方案:preg_replace("/<a(.+?)href=\"(.+?)\"/", "<a$1href=\"your_value_here\"", $yourStringHere);

您可以使用gi标记。从正则表达式开始:http://www.regular-expressions.info/