繁体   English   中英

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

[英]Change href in div to normal text

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

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

我想每一个改变<a href...>像有趣的文字suprise ,作为一个例子。

我该怎么做?

由于您使用 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);

鉴于这是来自数据库,建议的第一句话是在将输入保存到数据库之前对其进行过滤。

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

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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM