将 _blank 添加到所有外部链接[重复]

2023-12-08

可能的重复:
获取 A 元素的 href 属性
解析“href”标签中包含特定单词的所有链接

我使用以下函数将 _blank 添加到我网站上的所有链接。

function targetBlank($text) {
  $return = str_replace('<a', '<a target="_blank"', $text);
  return $return;
}

我正在寻找一种解决方案,仅将此功能应用于外部链接(不在我的域上)而不是所有链接。


这是一个尝试的解决方案,依赖于$_SERVER['HTTP_HOST']:

function targetBlank($text) {
  if( strpos( $text, $_SERVER['HTTP_HOST'] ) === false )
      return str_replace('<a', '<a target="_blank"', $text);
  return $text;
}

未经测试,但应该可以。 @meager 也是正确的,因为如果该标记已经定义了目标,这将产生格式错误的锚标记,但是,因为它只会对您传入的 html 字符串进行操作,然后<abbr>只要您只传递带有锚标记的字符串,等等就应该是安全的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 _blank 添加到所有外部链接[重复] 的相关文章

  • PDO::commit() 成功或失败

    The PHP PDO 提交 http www php net manual en pdo commit php文档指出该方法成功时返回 TRUE 失败时返回 FALSE 这是指beginTransaction 和commit 之间的语句执
  • 从文本块中提取相关标签/关键字

    我想要一个特定的实现 以便用户提供如下文本块 要求 使用 Linux Apache 2 的 LAMP 环境的工作知识 MySQL 5 和 PHP 5 Web 2 0 标准知识 熟悉 JSON 使用框架 Zend OOP 的实践经验 跨浏览器
  • PMA 4.5.2.0 file_exists():open_basedir 限制生效

    从 PPA 在我的 Ubuntu 服务器上安装 phpMyAdmin 后 https launchpad net nijel archive ubuntu phpmyadmin https launchpad net nijel archi
  • Laravel 验证:存在附加列条件 - 自定义验证规则

    在 Laravel 中指定存在验证规则时 是否有一种方法可以引用另一个字段 我希望能够说输入 a 必须存在于表 a 中 输入 b 必须存在于表 b 中 并且表 b 中列 x 的值必须等于输入 a 最好通过例子来解释 public rules
  • 智能位置表单字段

    我的用户注册表单上有一个文本字段location 我本质上希望这个字段能够根据 Google 地图 或同等地图 进行验证 只允许有效位置通过 最好采用类似的格式滑铁卢 伦敦 or 伦敦 英国 要求 除了位置名称之外 我还想返回该位置中心的坐
  • 如何让 shell_exec 在 IIS 6.0 上运行

    问题 我有一个 PHP 脚本 它使用shell exec运行 pdf 到文本转换器 为了简化问题 我创建了一个简短的脚本 使用shell exec只是回显的输出dir命令 当我在 Apache 服务器上运行它时 一切都按预期运行 当我切换到
  • 如何验证使用 php 上传的文件不包含可执行二进制文件?

    使用简单的 Firefox 插件 黑客可以更改他们想要上传的任何文件的 MIME 类型 绕过文件类型检查器 然后 黑客可以使用 GIMP 等程序将 php 脚本嵌入到图像 音频或任何其他文件的二进制数据中 我该如何检查并防止这种情况发生 您
  • 将 PHP mcrypt 与 Rijndael/AES 结合使用

    我正在尝试使用 php 中的 mcrypt 和密码 Rijndael 加密一些文本消息 但我不确定 MCRYPT MODE modename 根据 PHP 手册 这些可用 ecb cbc cfb ofb nofb 或 stream 但我读到
  • Facebook 中用户的时区是如何编码的

    我需要检查用户的时区 但我找不到它的真正定义 参考API http developers facebook com docs reference api user says 用户的时区与 UTC 的偏移量 现在在维基百科上这些是可能的时区
  • PHP 的 PDO 可以限制为单个查询吗?

    PHP 的 PDO 允许通过 query 方法或作为准备好的语句同时执行多个查询 以下两个示例均有效 Two SQL queries query SELECT FROM table DROP table Execute via query
  • 从 PDO 准备好的语句中获取原始 SQL 查询字符串

    在准备好的语句上调用 PDOStatement execute 时 有没有办法让原始 SQL 字符串执行 出于调试目的 这将非常有用 我假设您的意思是您想要最终的 SQL 查询 并将参数值插入其中 我知道这对于调试很有用 但这不是准备好的语
  • 如何在无法重启的服务器(Apache)上使用gettext?

    我在服务器故障上问了这个问题 https serverfault com questions 104224 how do you use gettext on server apache you cant restart但我没有得到任何回应
  • Opencart最低下单价不包括一类

    我正在使用 opencart 并成功为所有交易添加了最低订单价格 这是我使用的代码 div div div class warning Minimum 10 Euro to checkout div 现在我想从中排除一个类别 以便可以购买该
  • 根据通过 AJAX 请求的用户输入重绘 google 图表

    我有一个谷歌图表从我的数据库中提取数据 它可以按我想要的方式工作 根据 URL 中的 get 请求 它从所选表中提取数据 我想根据下拉菜单中选定的表通过 ajax 更新此图表 我无法突破的部分是通过 ajax 获取数据响应 我认为下面的代码
  • DOMPDF - 未找到“字体”类

    我正在尝试通过命令行添加字体 每次我尝试都会收到以下错误 Fatal error Class Font not found in home scripts public html MarketingPalv2 load font php o
  • 使用php将文本文件转换为xml?

    data txt ha15rs 250 home2 gif 2 ha36gs 150 home3 gif 1 ha27se 300 home4 gif 4 ha4678 200 home5 gif 5 我想使用 php 使用 simplex
  • PHP 日志文件颜色

    我正在编写一个 PHP 日志文件类 但我想为写入文件的行添加颜色 我遇到的问题是颜色也会改变终端的颜色 我想要实现的是仅更改写入日志文件的行的颜色 class logClass extends Singleton private funct
  • Laravel 5.3:护照实现 - {“error”:“invalid_client”,“message”:“客户端身份验证失败”}

    我按照中提到的确切步骤进行操作Laracast Laravel 5 3 的新增功能 Laravel Passport https laracasts com series whats new in laravel 5 3 episodes
  • 如何使用 PHP 获取列中的所有值?

    我一直在到处寻找这个问题 但仍然找不到解决方案 如何从 mySQL 列中获取所有值并将它们存储在数组中 例如 表名称 客户 列名称 ID 名称 行数 5 我想获取此表中所有 5 个名称的数组 我该如何去做呢 我正在使用 PHP 我试图 SE
  • 如何显示 PHP 对象

    我有这样的代码 dataRecord1 client gt GetRecord token table filter echo pre print r dataRecord1 echo pre foreach dataRecord1 gt

随机推荐

  • 合并两个文件中的文本,输出到另一个文件[重复]

    这个问题在这里已经有答案了 我遇到了一些问题 我一整天都在寻找 这是我的第一堂 Unix 课 不要太严厉 所以这听起来可能相当简单 但我无法理解 我有两个文本文件 file1 David 734 838 9801 Roberto 313 1
  • Firebug 杀死 CSS 文件中的 -webkit 设置 - 为什么?

    样式 css 原始文件 box webkit border radius 8px moz border radius 8px padding 10px 样式 css 在 Firebug CSS 控制台中 box moz border rad
  • Component-preload.js 生成

    我们即将关闭 SAPUI5 应用程序 最后一步之一是创建一个Component Preload js文件以提高性能 我在网上阅读了不同的指南 它们都需要我安装的 Node js 我不是该软件包的专家 我不知道如何使该指南之一发挥作用 我正在
  • 使用 PL/SQL 解析大型 XML 文件

    我正在尝试解析相当大的 XML 文件 FILE 足够大 无法使用 VARCHAR2 因此我决定使用 CLOB 代码看起来不错 但我仍然收到错误 这是我正在解析的 xml 文件的示例
  • ValueError Scikit 学习。模型的特征数量与输入不匹配

    总的来说 我对机器学习和 scikit learn 都很陌生 我正在尝试使用网站上给出的示例http scikit learn org stable tutorial basic tutorial html 为了自己练习 我使用自己的数据集
  • 将 XMPP 集成到 Rails 需要什么?

    这是我到目前为止所拥有的 XMPP 服务器 Ejabberd 或Vine Rails 中的 XMPP 库 Blather 客户端上的 XMPP 库 Strope js 这是我将聊天集成到我的 Rails 应用程序中所需要的吗 编辑 来自 V
  • 匿名方法/Lambda(编码标准)

    在 Jeffrey Richter 的 CLR via C net 2 0 版第 353 页 中 他表示 作为一种自律 他从不使匿名函数的代码长度超过 3 行 他主要引用可读性 可理解性作为他的理由 这很适合我 因为我已经养成了使用匿名方法
  • Laravel - 更改特定 URL 的数据库连接?

    我对使用 Laravel 框架相当陌生 我有以下要求 我有一个域 example com 它的整个代码堆栈都在 laravel 中运行 假设在配置中默认数据库连接是 db1 现在 如果网址变为 example com country 我希望
  • JDBC 4 的 java.sql.Clob.free() 方法和向后兼容性

    我正在调查一个有趣的性能问题 其中没有调用java sql Clob free 在经常使用的资源上 这个方法在Clob是在 Java 6 JDBC 4 中引入的 因此这很可能实际上是从 JDBC 3 升级到 JDBC 4 时引入的回归 这是
  • Python OpenCV 实时人脸检测裁剪保存

    我对此进行了大量的研究 我认为我的逻辑已经磨损了 几乎在那里 但似乎无法理解为什么 cv2 imshow 窗口中没有显示任何内容 只是一个灰色的框 但好消息是我是能够检测脸部并裁剪该脸部 然后将其保存在文件夹中 你能告诉我我哪里出了问题吗
  • 旋转和移动画布元素中的图像?

    我想在元素中移动和旋转球的图像 球的尺寸为 68x68 画布的尺寸为 300x200 球沿着 x 和 y 轴移动 当它撞到墙壁时翻转它的 x 和 y 速度 所有这些都有效 我只是不知道如何在运动的基础上进行旋转 我的draw 函数每30毫秒
  • 来自 glmer 的反向变换系数以及用于预测的缩放自变量

    我使用以下方法安装了混合模型lme4包裹 我用以下方法转换了自变量scale 拟合模型之前的函数 我现在想使用以下方式在图表上显示我的结果predict 所以我需要将预测数据恢复到原始规模 我该怎么做呢 简化示例 database lt m
  • 无法从 Linux 容器切换到 Windows 容器

    我最近从头开始重建我的电脑 我已经安装了 Windows 版 Docker 我无法从 Linux 容器切换到 Windows 容器 这是我得到的错误 Error response from daemon open pipe docker e
  • 如何打印完整的 NumPy 数组而不截断?

    当我打印 numpy 数组时 我得到一个截断的表示 但我想要完整的数组 gt gt gt numpy arange 10000 array 0 1 2 9997 9998 9999 gt gt gt numpy arange 10000 r
  • 如何计算具有指数的字符串

    Javax ScriptEngine 和 JEval 的工作原理类似 您输入一个字符串并将其发送给它进行评估 它会返回您的结果 在 ScriptEngine 中 在 JEval 中几乎相同 System out println engine
  • VSCode:快速切换flutter版本

    所以 我使用的是 flutter 2 2 3 版本 现在无法升级 但是 我的另一个项目需要更高的SDK 我知道 有FVM 但我发现了这个 如何在同一设备上针对不同项目使用两个版本的flutter 并引用文章 https dartcode o
  • c#: SetScrollPos (user32.dll)

    我想要 2 个 丰富的 文本框 bc 2k8 具有相同的滚动 所以当我滚动 tb1 时 tb2 滚动到相同的位置 我使用这个功能 DllImport user32 dll static extern int SetScrollPos Int
  • Go 中空接口的最佳实践?

    我正在学习空接口 我发现虽然在 Stackoverflow 上有很多关于空接口的含义及其工作方式的解释 但关于何时 为何使用它们 何时避免 考虑因素是什么以及如何使用它们的最佳实践信息却很少 选择使用它们的优点和缺点 在 Go 聊天室中 我
  • knit/rmarkdown/Latex:如何交叉引用图形和表格?

    我正在尝试交叉引用使用knitr rmarkdown 生成的PDF 中的图形和表格 关于 SO 和 tex stackexchange 有一些问题 here and here 例如 建议内联执行此操作的方法是添加 ref fig my fi
  • 将 _blank 添加到所有外部链接[重复]

    这个问题在这里已经有答案了 可能的重复 获取 A 元素的 href 属性 解析 href 标签中包含特定单词的所有链接 我使用以下函数将 blank 添加到我网站上的所有链接 function targetBlank text return