让PHPBB帖子内URL链接在新窗打开的方法

讨论以及发布 phpBB 3.2.X 的风格或主题

版主: 橘子花间

版面规则
《发帖时,请复制下列格式文本,提供完整的信息,勿简略发布》


###### 以下为“基本的提问格式” ######
  • 主机操作系统: Windows (XP, 7, 8, 10)、Linux(Redhat,Centos, Mandrake等等)、或者其他的(请务必注明版本)
  • 快速架站程序: AppServ、XAMPP 等等(请务必注明版本号)
  • 您的上网方式:ADSL、Cable、FTTB等等 (请务必留下 ISP 名称或 ISP 官网)
  • 您安装的程序: Apache + php + MySQL 或者其他的组合 (请务必留下版本号,如果使用上面的快速架站程序就不必写了)
  • 您的 phpBB 版本: phpBB 3.2.2
  • 您的域名: 比如 phpbbchinese.com
  • 您的 phpBB 网址: 比如 https://www.phpbbchinese.com/
###### 以上为“基本的提问格式” ######

  • 安装扩展: 请注明安装扩展的名称,版本以及参考链接(非扩展问题免填)
  • 安装风格: 请注明安装的风格名称,版本以及参考链接(非风格问题免填)
  • 错误代码: 请使用 Code 标签将错误代码标识出来,如下:

代码: 全选

错误代码
  • 错误状态:如果没有错误代码,请直接贴出截图,或者是详细叙述错误状态内容。
备注:
如果需要,请提供测试用的账号与密码
若是管理账号,请使用短信联系站长
回复
头像
橘子花间
版主
版主
帖子: 64
注册时间: 2018年6月18日 09:53

让PHPBB帖子内URL链接在新窗打开的方法

帖子 橘子花间 »

大多模板都是继承PHPBB的默认模板,所以你使用的模板中如果没有bbcode.html,可从./styles/prosilver/template/内复制一份到现用模板包同一位置再去修改。(懒人可以直接修改替换默认模板)

打开:styles/prosilver/template/bbcode.html 文件,找到:

代码: 全选

<!-- BEGIN url --><a href="{URL}">{DESCRIPTION}</a><!-- END url -->
替换成:

代码: 全选

<!-- BEGIN url --><a href="{URL}" target="_blank">{DESCRIPTION}</a><!-- END url -->
打开论坛根目录:includes/functions_content.php 文件,找到:

代码: 全选

$html   = "$whitespace<!-- $tag --><a$class href=\"$url\">$text</a><!-- $tag -->$append";
替换成:

代码: 全选

$html   = "$whitespace<!-- $tag --><a$class target=\"_blank\" href=\"$url\">$text</a><!-- $tag -->$append";
如此改后,在BBCode解析过的URL位置或是自动解析的链接格式都会在新窗口打开
比如:帖子内容页部分、版面描述部分、版面规则部分、用户签名部分
不用每次都要Shift+点击了
tracyd
注册用户
注册用户
帖子: 26
注册时间: 2019年5月12日 11:03

Re: 让PHPBB帖子内URL链接在新窗打开的方法

帖子 tracyd »

如果改成在一个新的tab中打开,而不是打开一个新的browser window改如何修改?另外有没有快捷键在新的tab中打开?
头像
橘子花间
版主
版主
帖子: 64
注册时间: 2018年6月18日 09:53

Re: 让PHPBB帖子内URL链接在新窗打开的方法

帖子 橘子花间 »

那是因为你的浏览器没设置好“_blank”跟你说的一点关系都没有
tracyd
注册用户
注册用户
帖子: 26
注册时间: 2019年5月12日 11:03

Re: 让PHPBB帖子内URL链接在新窗打开的方法

帖子 tracyd »

try了几次,不work,不知道是不是我现在用的3.2.5版本高了点的缘故不。
不过装一个extension, enable一下就可以了。试了试,很好,可以跳出一个新的tab.
https://www.phpbb.com/customise/db/extension/elonw/
下载以后,直接放ext/rmcgirr83/elonw 目录,enable extesion即可。以后升级也容易些,不用改code.
回复