1 頁 (共 2 頁)

[ 已 解 決 ] [quote] 失 效

發表於 : 2006-04-08 10:27
kp3011
phpBB 資 料 請 見 簽 名 檔

( 這 篇 文 章 關 閉 了 BBCode 以 作 示 範 )

在 升 級 到 phpBB 2.0.20 前 quote 功 能 還 是 完 好 的 , 剛 升 級 到 2.0.20 之 後 , quote 功 能 不 能 用 了 :

例 如 我 輸 入 [quote="testing"]1[/quote] 他 就 完 整 的 輸 出 [quote="testing"]1[/quote] 到 我 的 文 章 內

我 到 資 料 庫 去 查 找 , 發 現 post_text 一 欄 的 內 容 是 [quote="testing"]1[/quote][b:3f8a03db7c]testing[/b:3f8a03db7c]

[b][/b] 的 那 部 份 可 以 正 常 顯 示 , 可 是 quote 還 是 出 現 文 字

我 試 過 上 載 原 裝 phpBB 2.0.20 的 includes/bbcode.php 不 過 情 況 還 是 一 樣 .

感 謝 幫 助 . :mrgreen:

[color=red]** 解 決 辦 法 : http://phpbb-tw.net/phpbb/viewtopic.php?p=233784#233784[/color]

發表於 : 2006-04-08 10:58
jwxinst
私人訊息的引言失效請看
http://www.phpbb-tw.net/phpbb/viewtopic ... 777#233777
看這裡試試看吧

修正板將由官方公佈

(修正參考資料, 私人訊息以外, function.php可以參考底下那篇, 不曉得能否解決

至於另一位官方Dev要求檢查的其實跟Mac大寫道的好像是相同
(所以我不用爆文章@@?....) :oops:
兩位大大辛苦了....

發表於 : 2006-04-08 11:02
Mac
我想 kp3011 遇到的問題跟這次少加上的程式碼無關,應該是少做了什麼或做錯了什麼

kp3011 你是用手動更新還是 EasyMOD?

如果是手動,你可已先檢查一下
includes/bbcode.php
includes/functions.php
includes/functions_post.php

~Mac

發表於 : 2006-04-08 11:13
jwxinst
哦, 其實我也看錯了一點
我只給了一半參考資料.... :oops:


其中引言作者失效了, 如果根據這一篇官方討論, 在html語法關閉後 either是work, 不能引言的就做以下的修正....'

打開includes/functions_post.php

尋找:
代碼:

代碼: 選擇全部

$message = addslashes($message); 

After, Add:
代碼:

代碼: 選擇全部

$message = str_replace('"', '\\"', $message);

如果是參考官方討論, 不曉得給否解決這個問題
不過看起來, 這個應該會可以work....

(今天實在太忙, 連升級也不能, 只能在官網裡待著......OZT)

我認為升級應該用手動比較好.....

不過Mac大說得也有道理
小弟的遇見是參考官方的幾個討論
所以還是檢查你修改時有沒有跟外掛相衝啦
還有有沒有修正不對?

發表於 : 2006-04-08 11:20
jwxinst
另外, 如果你是私人訊息的話
在用 Easymod升級, 請跟官方修正:

請打開 privmsg.php, 大約在 line 1505, 請確定有以下的代碼
代碼:

代碼: 選擇全部

         if ( !($privmsg = $db->sql_fetchrow($result)) ) 
         { 
            redirect(append_sid("privmsg.$phpEx?folder=$folder", true)); 
         } 

         $orig_word = $replacement_word = array(); 
         obtain_word_list($orig_word, $replace_word); 

         $privmsg_subject = ( ( !preg_match('/^Re:/', $privmsg['privmsgs_subject']) ) ? 'Re: ' : '' ) . $privmsg['privmsgs_subject']; 
         $privmsg_subject = preg_replace($orig_word, $replacement_word, $privmsg_subject); 

         $to_username = $privmsg['username']; 
         $to_userid = $privmsg['user_id']; 

         if ( $mode == 'quote' ) 
請你檢查清楚, 是否全部都有
因為有人用 Easymod安裝後, 其中有幾段會不見
最好的方法是 Replace

發表於 : 2006-04-08 21:56
kp3011
jwxinst 寫:哦, 其實我也看錯了一點
我只給了一半參考資料.... :oops:


其中引言作者失效了, 如果根據這一篇官方討論, 在html語法關閉後 either是work, 不能引言的就做以下的修正....'

打開includes/functions_post.php

尋找:
代碼:

代碼: 選擇全部

$message = addslashes($message); 

After, Add:
代碼:

代碼: 選擇全部

$message = str_replace('"', '\\"', $message);

如果是參考官方討論, 不曉得給否解決這個問題
不過看起來, 這個應該會可以work....

(今天實在太忙, 連升級也不能, 只能在官網裡待著......OZT)

我認為升級應該用手動比較好.....

不過Mac大說得也有道理
小弟的遇見是參考官方的幾個討論
所以還是檢查你修改時有沒有跟外掛相衝啦
還有有沒有修正不對?
這 個 修 改 成 功 解 決 了 問 題 ! 萬 分 感 謝 jwxinst 和 Mac 大 大 的 幫 助 :mrgreen:

* 小 弟 是 手 動 更 新 的 , 可 是 再 查 找 Code Changes 一 檔 內

代碼: 選擇全部

$message = addslashes($message); 
一 句 後 也 沒 有

代碼: 選擇全部

$message = str_replace('"', '\\"', $message);
一 句

發表於 : 2006-04-08 23:25
jwxinst
其實我的意思是說

代碼:
尋找

代碼: 選擇全部

$message = addslashes($message);

代碼: 選擇全部

下一行, 加入,
$message = str_replace('"', '\\"', $message);


當然, 現在code change files已經重新發表了吧?
應該不會有發生類似的事情...

發表於 : 2006-04-09 23:11
Mowd
我跟原PO的情形一樣,資料庫顯示的是[quote="testing"]1[/quote]
不過我是從2.0.18升級到19,然後再升到20的,在2.0.19就已經無法引言,2.0.20也是一樣,但是如果不引用作者名字的話就正常,

代碼: 選擇全部

$message = str_replace('"', '\\"', $message);
2.0.20的修改我也改了,但還是一樣,請問到底還有哪裡需要修正啊?

發表於 : 2006-04-09 23:59
jwxinst
To Mowd大,

我也有類似的問題
後來我先試用以上的方法不會出現有問題
但是會出現亂碼....

你加入的那一段本應是讓 bbcode重新....

但深入不看那個討論
如果從DB READ的話
會發現就算不做修正, 也一樣, 他都變成這樣子


就如官方的karlsemple建議:
目前 2.0.20仍然不夠成熟....還有些confirmed bugs....
如果那個修正也不成功(他用了...ok...), 就先等官方好啦....

@@不曉得官方什麼時候才發佈 fixed呢?

發表於 : 2006-04-10 00:02
jwxinst
再看多一次你的問題
你在2.0.19已經不能嗎?
那應該先在2.0.19把quote正常, 因為的修正只是針對2.0.20(>..<)

那就在 2.0.18→0.19的時候, 那麼先試試這個方法

代碼: 選擇全部

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

# 
#-----[ FIND ]----- 
# 
代碼: 

$text = bbencode_first_pass_pda($text, $uid, '/\[quote=\\\\"(.*?)\\\\"\]/is', '[/quote]', '', false, '', "[quote:$uid=\\\"\\1\\\"]"); 
 

# 
#-----[ REPLACE WITH ]----- 
# 
代碼: 

$text = bbencode_first_pass_pda($text, $uid, '/\[quote=(\\\".*?\\\")\]/is', '[/quote]', '', false, '', "[quote:$uid=\\1]"); 
意思也就是...回復2.0.18的BBCODE功能.....
:roll:


方法參考裝bbcode expand....
http://phpbb-tw.net/phpbb/viewtopic.php?p=231617#231617

發表於 : 2006-04-10 00:51
Mowd
我知道原因出在哪裡了,前天我從2.0.18升級到2.0.19時參考的是DL發表的Code Change,這篇文章在BBCode關於Quote部分的程式碼不知為何每個\都多出了一個反斜線\,所以出了問題。

現在我已經修改回來,同時也針對DL發表的文章作了修正,不曉得之前怎麼都沒有人回報過這個問題,還是...?

發表於 : 2006-04-11 03:51
jwxinst
:oops: 原來是這樣子!
(我升級都是用官方的CODE CHANGED=_="....)

不曉得是什麼原因? (總有人看他做修正吧?)....

發表於 : 2006-04-20 07:47
Xilinx
Mowd 寫:我知道原因出在哪裡了,前天我從2.0.18升級到2.0.19時參考的是DL發表的Code Change,這篇文章在BBCode關於Quote部分的程式碼不知為何每個\都多出了一個反斜線\,所以出了問題。

現在我已經修改回來,同時也針對DL發表的文章作了修正,不曉得之前怎麼都沒有人回報過這個問題,還是...?
可否明說修改方式

發表於 : 2006-04-20 11:48
jwxinst
問題應該是這兩段

代碼: 選擇全部

   $text = bbencode_first_pass_pda($text, $uid, '/\[quote=\\\\"(.*?)\\\\"\]/is', '[/quote]', '', false, '', "[quote:$uid=\\\"\\1\\\"]");

代碼: 選擇全部

            if( preg_match('#\[quote=\\\\\"#si', $possible_start, $match) && !preg_match('#\[quote=\\\\\"(.*?)\\\\\"\]#si', $possible_start) ) 
            { 
               // OK we are in a quote tag that probably contains a ] bracket. 
               // Grab a bit more of the string to hopefully get all of it.. 
               if ($close_pos = strpos($text, '"]', $curr_pos + 14)) 
               { 
                  if (strpos(substr($text, $curr_pos + 14, $close_pos - ($curr_pos + 14)), '[quote') === false) 
                  { 
                     $possible_start = substr($text, $curr_pos, $close_pos - $curr_pos + 7);
ps:mowd大好像已經把以上的代碼修改過, 所以應該沒問題吧....
= ="...

發表於 : 2007-04-25 10:48
Fily
小弟的問題也是挺奇怪的 ><

在竹貓碼頭這拜讀了許多UTF8文章,實做後,也成功的將討論區轉成UTF8 :D 著實感謝大家 (:Y)

但是就在討論區轉換後的當下,發現了引言回覆的問題,爬了文章,卻沒有發現與小弟遇到相同情況的文章 ><

問題是這樣的 ...

在小弟的討論區上某些文章引言會失敗,某些則是正常,進入資料庫查看後

發現到引言的BBcode後方會被加上一組亂數的代碼(在討論區觀看皆正常),且前後號碼是有對應的,這樣的引言是正常無誤的
原始碼
圖檔

討論區觀看畫面
圖檔


但是發現引言失敗的,卻都是以往的引言方式

原始碼
圖檔

討論區觀看畫面
圖檔


這問題反而與kp3011兄的相反 :cry:

不過小弟發現了個很有趣的地方,只要是引言失敗的,小弟利用討論區編輯文章的功能,將引言結束語法[/quote]與文末之間按下enter(給於斷行符號)並存檔後,就可以正常引言 @@

利用討論區編輯功能修改
圖檔

phpmyadmin 觀看資料庫這筆內容,被加上一組code
圖檔

再回討論區觀看,已經正常引言@@
圖檔

還懇請大家協助 , 謝謝 ...