1 頁 (共 1 頁)

[問題] 升級後link後中文檔名的問題

發表於 : 2005-10-13 14:20
WINZEN
我之前安裝2.0.8的版本\r
在檔案下載中設定假設為\r
http://phpbb-tw.net/download/檔案下載.exe (中文字不能成為完整連結)
http://phpbb-tw.net/download/test.exe(非中文才能嗎?)

中文部分都沒有問題
可是升級到2.0.17後link的部分只到http://phpbb-tw.net/download/而已\r
後面"檔案下載.exe"無法跟前面的網址連成超連結...(跟現在本板的情形一樣)
請問要怎麼解決?謝謝~~

●架設主機作業系統:win2000
●您的 phpBB2 版本:phpBB 2.0.17

發表於 : 2005-10-17 16:10
WINZEN
真的沒有人會嗎?還是大家有關link的檔案都改為非中文?
怎麼解決呢?

發表於 : 2005-10-17 16:13
小竹子
:oops:

一直以來都使用英數字排列,所以沒遇過那種問題

發表於 : 2005-10-17 16:15
WINZEN
小竹子 寫::oops:

一直以來都使用英數字排列,所以沒遇過那種問題
可是升級前2.0.8的版本是ok的
那請問怎麼改回2.0.8的版本?
因為我的資料相當多...如果手動改會吐血...

發表於 : 2005-10-17 16:54
小竹子
應該是編碼問題,如果你資料不多可以參考 BIG5轉UTF8 的相關教學 :oops:

發表於 : 2005-10-17 22:32
心靈捕手
To WINZEN:

這個問題的產生, 主要在發生在 2.0.16 Update 2.0.17 的修改過程,...

代碼: 選擇全部

# 
#-----[ OPEN ]--------------------------------------------- 
# 
includes/bbcode.php

#
#-----[ FIND ]---------------------------------------------
# Line 203
	$patterns[] = "#\[url\]([\w]+?://[^ \"

\t<]*?)\[/url\]#is";
	$replacements[] = $bbcode_tpl['url1'];

	// [url]www.phpbb.com[/url] code.. (no xxxx:// prefix).
	$patterns[] = "#\[url\]((www|ftp)\.[^ \"

\t<]*?)\[/url\]#is";
	$replacements[] = $bbcode_tpl['url2'];

	// [url=xxxx://www.phpbb.com]phpBB[/url] code..
	$patterns[] = "#\[url=([\w]+?://[^ \"

\t<]*?)\]([^?

\t].*?)\[/url\]#is";
	$replacements[] = $bbcode_tpl['url3'];

	// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
	$patterns[] = "#\[url=((www|ftp)\.[^ \"

\t<]*?)\]([^?

\t].*?)\[/url\]#is";

#
#-----[ REPLACE WITH ]---------------------------------------------
# 
	$patterns[] = "#\[url\]([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is";
	$replacements[] = $bbcode_tpl['url1'];

	// [url]www.phpbb.com[/url] code.. (no xxxx:// prefix).
	$patterns[] = "#\[url\]((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is";
	$replacements[] = $bbcode_tpl['url2'];

	// [url=xxxx://www.phpbb.com]phpBB[/url] code..
	$patterns[] = "#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?

\t].*?)\[/url\]#is";
	$replacements[] = $bbcode_tpl['url3'];

	// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
	$patterns[] = "#\[url=((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?

\t].*?)\[/url\]#is";

#
#-----[ FIND ]---------------------------------------------
# Line 627
	$ret = preg_replace("#(^|[
 ])([\w]+?://[^ \"

\t<]*)#is", "\\\1<a href=\"\\\2\" target=\"_blank\">\\\2</a>", $ret);

	// matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
	// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
	// zzzz is optional.. will contain everything up to the first space, newline, 
	// comma, double quote or <.
	$ret = preg_replace("#(^|[
 ])((www|ftp)\.[^ \"\t

<]*)#is", "\\\1<a href=\"http://\\\2\" target=\"_blank\">\\\2</a>", $ret);

#
#-----[ REPLACE WITH ]---------------------------------------------
# 
	$ret = preg_replace("#(^|[
 ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\\1<a href=\"\\\2\" target=\"_blank\">\\\2</a>", $ret);

	// matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
	// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
	// zzzz is optional.. will contain everything up to the first space, newline, 
	// comma, double quote or <.
	$ret = preg_replace("#(^|[
 ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\\1<a href=\"http://\\\2\" target=\"_blank\">\\\2</a>", $ret);
SOURCE: http://www.phpbb.com/phpBB/viewtopic.ph ... 86#1674386

瀏覽了官方網站上的討論, 似乎也有很多人有" [url] link" 失效的問題;
而官方的反應, 則是為了安全性考量.

如果您覺得沒有安全上的考量的話,
那麼您可以將升級的過程中, 略過 includes/bbcode.php 的修改.

或者, 到官方討論區爬文, 試著尋求解決方法.

發表於 : 2005-10-19 10:09
WINZEN
那我要怎麼重新改回來呢?
再重新安裝一次嗎?

發表於 : 2005-10-19 14:53
心靈捕手
WINZEN 寫:那我要怎麼重新改回來呢?
再重新安裝一次嗎?
逆向操作囉!

#
#-----[ OPEN ]---------------------------------------------
#
includes/bbcode.php

#
#-----[ FIND ]---------------------------------------------
#

代碼: 選擇全部

  
   $patterns[] = "#\[url\\]([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is"; 
   $replacements[] = $bbcode_tpl['url1']; 

   // [url]www.phpbb.com[/url] code.. (no xxxx:// prefix). 
   $patterns[] = "#\[url\]((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is"; 
   $replacements[] = $bbcode_tpl['url2']; 

   // [url=xxxx://www.phpbb.com]phpBB[/url] code.. 
   $patterns[] = "#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?

\t].*?)\[/url\]#is"; 
   $replacements[] = $bbcode_tpl['url3']; 

   // [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix). 
   $patterns[] = "#\[url=((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?

\t].*?)\[/url\]#is"; 
#
#-----[ REPLACE WITH ]---------------------------------------------
#

代碼: 選擇全部

   $patterns[] = "#\[url\]([\w]+?://[^ "

\t<]*?)\[/url\]#is"; 
   $replacements[] = $bbcode_tpl['url1']; 

   // [url]www.phpbb.com[/url] code.. (no xxxx:// prefix). 
   $patterns[] = "#\[url\]((www|ftp)\.[^ "

\t<]*?)\[/url\]#is"; 
   $replacements[] = $bbcode_tpl['url2']; 

   // [url=xxxx://www.phpbb.com]phpBB[/url] code.. 
   $patterns[] = "#\[url=([\w]+?://[^ "

\t<]*?)\]([^?

\t].*?)\[/url\]#is"; 
   $replacements[] = $bbcode_tpl['url3']; 

   // [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix). 
   $patterns[] = "#\[url=((www|ftp)\.[^ "

\t<]*?)\]([^?

\t].*?)\[/url\]#is"; 
#
#-----[ FIND ]---------------------------------------------
#

代碼: 選擇全部

   $ret = preg_replace("#(^|[
 ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\\1<a href="\\\2" target="_blank">\\\2</a>", $ret); 

   // matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing 
   // Must contain at least 2 dots. xxxx contains either alphanum, or "-" 
   // zzzz is optional.. will contain everything up to the first space, newline, 
   // comma, double quote or <. 
   $ret = preg_replace("#(^|[
 ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\\1<a href="http://\\\2" target="_blank">\\\2</a>", $ret);
#
#-----[ REPLACE WITH ]---------------------------------------------
#

代碼: 選擇全部

   $ret = preg_replace("#(^|[
 ])([\w]+?://[^ "

\t<]*)#is", "\\\1<a href="\\\2" target="_blank">\\\2</a>", $ret); 

   // matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing 
   // Must contain at least 2 dots. xxxx contains either alphanum, or "-" 
   // zzzz is optional.. will contain everything up to the first space, newline, 
   // comma, double quote or <. 
   $ret = preg_replace("#(^|[
 ])((www|ftp)\.[^ "\t

<]*)#is", "\\\1<a href="http://\\\2" target="_blank">\\\2</a>", $ret);