- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个允许用户在我的网站上发表评论的应用程序。它工作正常。我也有工具可以在其中插入他们的网络链接。我对带有他们自己的网络链接的内容感觉很好。
现在我想将 rel="nofollow"添加到他们所写内容的每个链接。
我想在保存数据时使用 php 添加 rel="nofollow"。
那么使用 php 添加 rel="nofollow"或更新 rel="someother"为 rel="someother nofollow"的简单方法是什么
一个好的例子会更有效率
最佳答案
正则表达式确实不是处理 HTML 的最佳工具,尤其是当 PHP 内置了一个非常好的 HTML 解析器时。
如果 rel
属性已经填充,此代码将处理添加 nofollow
。
$dom = new DOMDocument;
$dom->loadHTML($str);
$anchors = $dom->getElementsByTagName('a');
foreach($anchors as $anchor) {
$rel = array();
if ($anchor->hasAttribute('rel') AND ($relAtt = $anchor->getAttribute('rel')) !== '') {
$rel = preg_split('/\s+/', trim($relAtt));
}
if (in_array('nofollow', $rel)) {
continue;
}
$rel[] = 'nofollow';
$anchor->setAttribute('rel', implode(' ', $rel));
}
var_dump($dom->saveHTML());
CodePad .
生成的 HTML 在 $dom->saveHTML()
中。除了它会用 html
、body
元素等包装它,所以使用它来提取您输入的 HTML...
$html = '';
foreach($dom->getElementsByTagName('body')->item(0)->childNodes as $element) {
$html .= $dom->saveXML($element, LIBXML_NOEMPTYTAG);
}
echo $html;
如果您有 >= PHP 5.3,请将 saveXML()
替换为 saveHTML()
并删除第二个参数。
这个 HTML...
<a href="">hello</a>
<a href="" rel="">hello</a>
<a href="" rel="hello there">hello</a>
<a href="" rel="nofollow">hello</a>
...转换为...
<a href="" rel="nofollow">hello</a>
<a href="" rel="nofollow">hello</a>
<a href="" rel="hello there nofollow">hello</a>
<a href="" rel="nofollow">hello</a>
关于php - 保存数据时添加 rel ="nofollow",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5848217/
如果我有一个带有元标记的页面(“dontFollowMe.html”): ...然后我链接到那个页面... 我需要在 a 元素中包含 nofollow rel 属性吗? : sign in 谢谢
这个问题在这里已经有了答案: RegEx expression to find a href links and add NoFollow to them (3 个答案) 关闭 9 年前。 我需要将
什么是 noreferrer 标签? 简而言之,noreferrer 标记在单击链接时隐藏引用者信息。如果有人从使用此标记的链接到达您的网站,您的分析将不会显示谁提到该链接。相反,
我正在努力实现两件事: 1) 我想让页面上的所有外部链接在新选项卡中打开 2)同时我希望所有此类链接都是nofollow。 通过下面附加的代码,我能够实现 1) 但我似乎无法实现 2) 工作 if (
nofollow是什么意思? nofollow是html标签的一个属性值,Google推荐使用nofollow,告诉机器(爬虫)无需追踪目标页,是指禁止蜘蛛爬行和传递权重,但是如果你是通过site
有谁知道我可以在 CKEditor 的什么地方设置,所以所有添加的链接都会有 rel="nofollow",即使用户没有指定它? 最佳答案 您可以按照本页中的说明创建一个数据过滤器来检查每个链接: h
我尝试在代码中添加 target="new" 和 target="_blank",但它不起作用。 Follow
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 6 年前。 Improve
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 8 年前。 Improve
下面的指令旨在为特定页面建立“noindex”和“nofollow”标题。它似乎没有生效。litespeed使用“e”标志而不是“env”,而不是apache。 RewriteCond %{REQUE
出于 SEO 目的,我为 NoFollow 添加了以下代码 - 社交小工具 echo ''.$image_url.''; if($this->add_cont == 2) echo ''.$image
我有一个用于广告的子域。它安装了 openx 来转换广告。我如何确保子域中的所有内容都被视为添加 rel=nofollow,因为我不希望 Google 和其他搜索引擎认为我们认为这些广告值得关注。 最
我有一个简单的 wordpress 网站,其中包含问答游戏。用户访问我的网站www.site.com,他可以在那里选择他想玩的问答游戏。每个问答游戏都是一个新帖子。 每个帖子都包含对 PC 游戏(例如
所以我不久前制作了一个关于制作网站时应遵循的步骤的指南,它几乎是一个页面,其中包含大量关于在哪里做/得到某些事情的引用。我现在才开始阅读诸如 nofollow 链接之类的内容,但我不确定它们是否适用。
是否应该将 rel="nofollow" 属性应用于绑定(bind)到安全/需要登录的页面的站点链接? 我们有一个基于 URI 日期的链接结构,其中前一年的新闻内容是免费的,而今年和上一年之前的任何一
在http://www.onlineincomestartup.com/drive-traffic-to-your-website/ ,在每个帖子中显示的作者简介中, 我需要建立除 Google pl
我需要一些关于我的问题的解释。 我的标题上的示例已经添加 我应该在我的标题中再次添加规范标签吗? 让我知道:) canonical tag 更新 我们知道规范标签目前也被 google、yahoo
AFAIK,链接上的 rel="nofollow" 属性指示搜索引擎在抓取您的网站时不要跟踪该链接,因此切断了您的网站与链接网站之间关系的所有假设,因此,不要分享您的任何 SEO 优点。在大多数情况下
我有一个允许用户在我的网站上发表评论的应用程序。它工作正常。我也有工具可以在其中插入他们的网络链接。我对带有他们自己的网络链接的内容感觉很好。 现在我想将 rel="nofollow"添加到他们所写内
我是一名优秀的程序员,十分优秀!