為何我的 url 連結只能顯示在目前的視窗中 (已解決)

phpBB Installation & Usage Support
phpBB 3 安裝於各類型作業平台之問題討論;外掛問題,請到相關版面依發問格式發表!
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

版面規則
本區是討論關於 phpBB 3.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
主題已鎖定
btxray
星球普通子民
星球普通子民
文章: 3
註冊時間: 2007-08-03 20:59

為何我的 url 連結只能顯示在目前的視窗中 (已解決)

文章 btxray »

代碼: 選擇全部

新裝了 phpbb3 rc 5 也發現有這樣的問題... 

没有加 [url] 的 http://xxxxx  會用同一視窗...
加了 [url]xxxxx[/url]  才開新視窗...
已找了不少有關檔案嘗試修改.. 但失敗了...
請高手指點.. :oops:
最後由 btxray 於 2007-10-10 01:56 編輯,總共編輯了 1 次。
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

btxray 寫:

代碼: 選擇全部

新裝了 phpbb3 rc 5 也發現有這樣的問題... 

没有加 [url] 的 http://xxxxx  會用同一視窗...
加了 [url]xxxxx[/url]  才開新視窗...
已找了不少有關檔案嘗試修改.. 但失敗了...
請高手指點.. :oops:
phpbb2 預設 '超連結' 是以開啟新的視窗
phpbb3rc5 預設 '超連結' 則是以開啟原來的視窗

前者修改的檔案是 templates/YOUR_THEME/bbcode.tpl
後者修改的檔案是 styles/YOUR_STYLE/template/bbcode.html

若要 '超連結' 是以開啟新的視窗, 則關鍵在於加上參數 target="_blank"
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
btxray
星球普通子民
星球普通子民
文章: 3
註冊時間: 2007-08-03 20:59

文章 btxray »

原來捕手兄轉為新文章放在這裡 :-D thx.

已找到解決方法. :mrgreen:

Open links in a new window
http://www.ktuk.net/phpBB3/viewtopic.php?f=32&t=2618
Open links in a new window
by Jackal on 22 Jul 2007 08:58

Problem
As you know phpBB3 is now conforming to standards and as such this means posted links no longer open in a new window when clicked.

Solution
This is a revised version of my original change, this appears to work when used with long magic URI's and thus fixes the bugs seen in the earlier edit on this board and the one at easytutorials

Please note that only links made after the change will be affected by this. To get old links to work correctly you will need to edit and submit the posts that contain them. This is because the link formatting is applied to the link before it is submitted to the database and thus any changes to the link format will not be in place on existing links.
Open includes/functions.php

Find:(line 2739)
Code: Select all

代碼: 選擇全部

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

Replace With:
Code: Select all

代碼: 選擇全部

$html    = "$whitespace<!-- $tag --><a$class target=\"_blank\" href=\"$url\">$text</a><!-- $tag -->$append";    

Find:(line 3427)
Code: Select all

代碼: 選擇全部

case 'bbcode_htm':
            return array(
                '#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
                '#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&|\?)sid=[0-9a-f]{32})?">.*?</a><!\-\- l \-\->#',
                '#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)">.*?</a><!\-\- \1 \-\->#',
                '#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#',
                '#<!\-\- .*? \-\->#s',
                '#<.*?>#s',
            );   

Replace With:
Code: Select all

代碼: 選擇全部

case 'bbcode_htm':
            return array(
                '#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
                '#<!\-\- l \-\-><a (?:class="[\w-]+" target="[\w-]+" )?href="(.*?)(?:(&|\?)sid=[0-9a-f]{32})?">.*?</a><!\-\- l \-\->#',
                '#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" target="[\w-]+" )?href="(.*?)">.*?</a><!\-\- \1 \-\->#',
                '#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#',
                '#<!\-\- .*? \-\->#s',
                 '#<.*?>#s',
            ); 
Open styles/xxxxxx/templates/bbcode.html

Find:
Code: Select all

代碼: 選擇全部

<!-- BEGIN url --><a href="{URL}" class="postlink">{DESCRIPTION}</a><!-- END url -->
Replace With:
Code: Select all

代碼: 選擇全部

<!-- BEGIN url --><a href="{URL}" class="postlink" target="_blank">{DESCRIPTION}</a><!-- END url -->
6yo.org
星球普通子民
星球普通子民
文章: 10
註冊時間: 2007-12-22 05:08
來自: http://6yo.org
聯繫:

文章 6yo.org »

幫補一下

Open includes/functions.php
Find:(line 2739)
的下一行

代碼: 選擇全部

'#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)">.*?</a><!\-\- \1 \-\->#',
也應該要一起改為

代碼: 選擇全部

'#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" (?:target="[\w-]+" )?)?href="(.*?)">.*?</a><!\-\- \1 \-\->#',
如果要再考慮舊版的也要處理,新加的部份包括他上一行其實應該以 (?:新加的)? 夾住
台灣技術玩具網
http://6yo.org
歡迎對溜溜球、魔術方塊、雜耍、劍玉、扯鈴
等技術玩具有興趣者一同研究討論
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

6yo.org 寫:幫補一下

Open includes/functions.php
Find:(line 2739)
的下一行

代碼: 選擇全部

'#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)">.*?</a><!\-\- \1 \-\->#',
也應該要一起改為

代碼: 選擇全部

'#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" (?:target="[\w-]+" )?)?href="(.*?)">.*?</a><!\-\- \1 \-\->#',
如果要再考慮舊版的也要處理,新加的部份包括他上一行其實應該以 (?:新加的)? 夾住
莫非您還在使用 <RC5 的版本? :-o

建議您:
1. 盡快更新至 3.0.0 正式版.
2. 參考教學文件做適度修改.
http://phpbb-tw.net/phpbb/viewtopic.php?p=262641#262641
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
6yo.org
星球普通子民
星球普通子民
文章: 10
註冊時間: 2007-12-22 05:08
來自: http://6yo.org
聯繫:

文章 6yo.org »

我是用3.0.0版,不過我沒有注意到版本的差別

已經按照那篇文章改過了

想做個確定,這樣改完後,DB內儲存的data是否會多
onclick="window.open(this.href);
這段?

這些改完有點擔心以後轉移等等會留下不好的伏筆,雖然還很久遠

另一個問題是,上面的語法跟target="_blank"間有什麼差異嗎?
台灣技術玩具網
http://6yo.org
歡迎對溜溜球、魔術方塊、雜耍、劍玉、扯鈴
等技術玩具有興趣者一同研究討論
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

6yo.org 寫:我是用3.0.0版,不過我沒有注意到版本的差別

已經按照那篇文章改過了

想做個確定,這樣改完後,DB內儲存的data是否會多
onclick="window.open(this.href);
這段?

這些改完有點擔心以後轉移等等會留下不好的伏筆,雖然還很久遠

另一個問題是,上面的語法跟target="_blank"間有什麼差異嗎?
1. 我猜想會多了 'onclick="window.open(this.href);' 這段.
其實, 就我個人 (以教學文件的修改) 的測試發現:
http://phpbb-tw.net/phpbb/viewtopic.php?p=262641#262641
以上的修改, 對舊文章中已建立的連結無效 (無法開啟新的視窗);
而且若原來連結過長已被簡化, 則要重新編輯文章時, 連結卻失真.

如果您在修改前, 還有舊的文章裡頭有較長的連結已被簡化者,
那麼請測試看看, 是否如我所言. 謝謝!

當然, 這個修改對新發表的文章之連結 (無論是否有被簡化) 是絕對有效的.

2. 上面的語法跟target="_blank"間有什麼差異嗎?
請參考底下文章:
  1. XHTML 1.0簡介
    http://www.w3.org/TR/xhtml1/
    http://www.ascc.sinica.edu.tw/nl/89/1606/04.txt
  2. 不允許使用target="_blank"
    http://www.hsiu28.net/html/article_detail.php?id=13
  3. 解決_blank開新視窗不符合標準
    http://www.hsiu28.net/html/article_detail.php?id=14
    http://www.sitepoint.com/article/standa ... iant-world
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
6yo.org
星球普通子民
星球普通子民
文章: 10
註冊時間: 2007-12-22 05:08
來自: http://6yo.org
聯繫:

文章 6yo.org »

我確定DB會因為這樣改,會出現 onclick這段,當然之前那樣改也是會出現target這段。
還蠻希望只改變我們解讀的方式就好,而不是去動到他原本要儲存的資訊。

我改完之後新舊都是沒有問題,應該是我新多的pattern會加上(?:NEW_ADD_PATTERN)? 夾住,就可以同時支援有無此mod的情況

include/functions.php

代碼: 選擇全部

      case 'bbcode_htm': 
         return array( 
            '#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#', 
            '#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&|\?)sid=[0-9a-f]{32})?"(?: onclick="window\.open\(this\.href\);return false;")?>.*?</a><!\-\- l \-\->#', 
            '#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)"(?: onclick="window\.open\(this\.href\);return false;")?>.*?</a><!\-\- \1 \-\->#', 
            '#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#', 
            '#<!\-\- .*? \-\->#s', 
            '#<.*?>#s', 
         );
台灣技術玩具網
http://6yo.org
歡迎對溜溜球、魔術方塊、雜耍、劍玉、扯鈴
等技術玩具有興趣者一同研究討論
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8510
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

6yo.org 寫:我確定DB會因為這樣改,會出現 onclick這段,當然之前那樣改也是會出現target這段。
還蠻希望只改變我們解讀的方式就好,而不是去動到他原本要儲存的資訊。

我改完之後新舊都是沒有問題,應該是我新多的pattern會加上(?:NEW_ADD_PATTERN)? 夾住,就可以同時支援有無此mod的情況

include/functions.php

代碼: 選擇全部

      case 'bbcode_htm': 
         return array( 
            '#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#', 
            '#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&|\?)sid=[0-9a-f]{32})?"(?: onclick="window\.open\(this\.href\);return false;")?>.*?</a><!\-\- l \-\->#', 
            '#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)"(?: onclick="window\.open\(this\.href\);return false;")?>.*?</a><!\-\- \1 \-\->#', 
            '#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#', 
            '#<!\-\- .*? \-\->#s', 
            '#<.*?>#s', 
         );
嗯! XHTML 1.0 對於空字元的判斷比較嚴格.

這個修改, 我昨天已經發文, 建議原作者 zeroK 修改.
http://www.phpbb.com/community/viewtopi ... 5#p3675375

本想等您回覆, 確認後, 再發表於竹貓. (目前已補上)
http://phpbb-tw.net/phpbb/viewtopic.php?p=262691#262691
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
主題已鎖定

回到「[3.0.x] 安裝與使用」