標題: 問regular expression
 ntf
 0043014
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

頭銜: Moderator

自述: ntf

帖子: 3713

精華: 0

積分: 6403 點

現金: 0 元

存款: 38423 元

閱讀權限: 100

註冊: 2006-4-7

狀態: 離線
 
發表於 2008-8-2 12:31  資料  個人空間  短消息  加為好友 
問regular expression

/\[quote\=(.*?)\](.*?)\[\/quote\\]/is 但是如果
[quote=ntf]
[quote=ntf]sub quote[/quote]
一次又一次重新發現網絡
[/quote]
佢 會將第1個open tag 同 第1個 close tag 轉換 而第2個open tag 同 第2個close tag 會冇反應




 AL8 Forum © All rights reserved.
頂部
 烈魂
 0105950
Rank: 3Rank: 3Rank: 3
點擊查看 烈魂 的詳細資料

頭銜: Conqueror

帖子: 228

精華: 0

積分: 2580 點

現金: 70 元

存款: 0 元

閱讀權限: 20

註冊: 2008-8-2

來自: HK

狀態: 離線
 
發表於 2008-8-2 12:34  資料  個人空間  主頁 短消息  加為好友  添加 烈魂 為MSN好友 通過MSN和 烈魂 交談
呢個睇下有冇用?

"/\[quote\=(.*?)\](.*?)\[\/quote\\]/is", $message)


唔得的話+2句
/\[quote\=(.*?)\](.*?)\[\/quote\\]/is


再唔得就咁
/\[quote$num\=(.*?)\](.*?)\[\/quote$num\\]/is [code] Or [code]/\[quote2\=(.*?)\](.*?)\[\/quote2\\]/is


[ 本帖最後由 烈魂 於 2008-8-2 12:36 編輯 ]




 AL8 Forum © All rights reserved.
頂部
 ntf
 0043014
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

頭銜: Moderator

自述: ntf

帖子: 3713

精華: 0

積分: 6403 點

現金: 0 元

存款: 38423 元

閱讀權限: 100

註冊: 2006-4-7

狀態: 離線
 
發表於 2008-8-2 12:37  資料  個人空間  短消息  加為好友 
QUOTE:
原帖由 烈魂 於 2008-8-2 12:34 發表
呢個睇下有冇用?
"/\(.*?)\/is", $message)
唔得的話+2句 /\(.*?)\/is
再唔得就咁/\(.*?)\/is  Or /\(.*?)\/is  

治標不治本= =




 AL8 Forum © All rights reserved.
頂部
 nickyykt
 0035676
Rank: 4Rank: 4Rank: 4Rank: 4
點擊查看 nickyykt 的詳細資料

頭銜: Lord

帖子: 334

精華: 0

積分: 1490 點

現金: 3 元

存款: 0 元

閱讀權限: 25

註冊: 2005-11-26

狀態: 離線
 
發表於 2008-8-2 13:47  資料  個人空間  短消息  加為好友 
我都想知
之前問sims佢話應該regexp應該做到
但冇比具體答案我




曾經相遇,然後分開
 AL8 Forum © All rights reserved.
頂部
 bananasims
 0025881
Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8
點擊查看 bananasims 的詳細資料

頭銜: Super Moderator

帖子: 12124

精華: 0

積分: 27215 點

現金: 345 元

存款: 84490 元

閱讀權限: 110

註冊: 2005-7-10

狀態: 離線
 
發表於 2008-8-2 16:02  資料  個人空間  主頁 短消息  加為好友 
我既做法好似 #2 咁,兩句,因為 regxp 可讀性好低,如果一行過好難搞




 AL8 Forum © All rights reserved.
頂部
 ntf
 0043014
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

頭銜: Moderator

自述: ntf

帖子: 3713

精華: 0

積分: 6403 點

現金: 0 元

存款: 38423 元

閱讀權限: 100

註冊: 2006-4-7

狀態: 離線
 
發表於 2008-8-2 22:27  資料  個人空間  短消息  加為好友 
回覆 #5 bananasims 的帖子

你話我用phpbb那個好唔好 咁難搞既野唔識寫

                                                'preg' => array(
                                                        '#\[quote(?:="(.*?)")?:$uid\]((?!\[quote(?:=".*?")?:$uid\]).)?#ise'        => "\$this->bbcode_second_pass_quote('\$1', '\$2')"
                                                )




 AL8 Forum © All rights reserved.
頂部
 bananasims
 0025881
Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8
點擊查看 bananasims 的詳細資料

頭銜: Super Moderator

帖子: 12124

精華: 0

積分: 27215 點

現金: 345 元

存款: 84490 元

閱讀權限: 110

註冊: 2005-7-10

狀態: 離線
 
發表於 2008-8-2 22:40  資料  個人空間  主頁 短消息  加為好友 
你鐘意咪用,不過我自己比較 prefer 兩行




 AL8 Forum © All rights reserved.
頂部
 ntf
 0043014
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

頭銜: Moderator

自述: ntf

帖子: 3713

精華: 0

積分: 6403 點

現金: 0 元

存款: 38423 元

閱讀權限: 100

註冊: 2006-4-7

狀態: 離線
 
發表於 2008-8-2 22:46  資料  個人空間  短消息  加為好友 
回覆 #7 bananasims 的帖子

bbcode 既話 冇理由搞咁多個tag架= =




 AL8 Forum © All rights reserved.
頂部
 waterhk
 0017105
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

頭銜: Moderator

帖子: 238

精華: 0

積分: 2335 點

現金: 54 元

存款: 0 元

閱讀權限: 100

註冊: 2005-2-25

狀態: 離線
 
發表於 2008-8-3 06:12  資料  個人空間  短消息  加為好友 
係 match 完之後既 $1, $2 之類既值後,
直接將佢地傳入 Function 再去分析,簡單 d 黎講 Regex + Call Function 做




與其給你魚吃,不如教你釣魚的方法
 AL8 Forum © All rights reserved.
頂部
 ntf
 0043014
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

頭銜: Moderator

自述: ntf

帖子: 3713

精華: 0

積分: 6403 點

現金: 0 元

存款: 38423 元

閱讀權限: 100

註冊: 2006-4-7

狀態: 離線
 
發表於 2008-8-3 10:18  資料  個人空間  短消息  加為好友 
回覆 #9 waterhk 的帖子

係regular expression 分析已經錯左
[quote=ntf]
[quote=ntf]sub quote[/quote]
top level
[/quote]



to

<blockquote>
[quote=ntf]sub quote</div></blockquote> <br />
top level<br />
[/quote]




 AL8 Forum © All rights reserved.
頂部
 bananasims
 0025881
Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8
點擊查看 bananasims 的詳細資料

頭銜: Super Moderator

帖子: 12124

精華: 0

積分: 27215 點

現金: 345 元

存款: 84490 元

閱讀權限: 110

註冊: 2005-7-10

狀態: 離線
 
發表於 2008-8-3 10:48  資料  個人空間  主頁 短消息  加為好友 
(.*?) 好似要改做 (.*)




 AL8 Forum © All rights reserved.
頂部
 ntf
 0043014
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

頭銜: Moderator

自述: ntf

帖子: 3713

精華: 0

積分: 6403 點

現金: 0 元

存款: 38423 元

閱讀權限: 100

註冊: 2006-4-7

狀態: 離線
 
發表於 2008-8-3 11:39  資料  個人空間  短消息  加為好友 
回覆 #11 bananasims 的帖子

搞掂

用左e 個時 個replacement 搞到好亂

$content=bbcode_quote($content);


function bbcode_quote($data){
        return preg_replace('/\[quote\=(.*?)\](.*)\[\/quote\]/ise',"'<blockquote><div><cite>' . ucfirst (\"$1\") . ': </cite>'. bbcode_quote(\"$2\") .'</div></blockquote>'", $data);
}


[ 本帖最後由 ntf 於 2008-8-3 12:20 編輯 ]




 AL8 Forum © All rights reserved.
頂部
 1224
 0017619
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7
點擊查看 1224 的詳細資料

頭銜: Moderator

自述: L

帖子: 3037

精華: 0

積分: 30363 點

現金: 0 元

存款: 3358 元

閱讀權限: 100

註冊: 2005-3-13

狀態: 離線
 
發表於 2008-8-3 15:48  資料  個人空間  主頁 短消息  加為好友 
                     "/<blockquote>([^\<\>\"]*)/<blockquote>/i",
                     "/<\/blockquote>([^\<\>\"]*)/<\/blockquote>/i"

點fix Parse error?




 AL8 Forum © All rights reserved.
頂部
 1224
 0017619
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7
點擊查看 1224 的詳細資料

頭銜: Moderator

自述: L

帖子: 3037

精華: 0

積分: 30363 點

現金: 0 元

存款: 3358 元

閱讀權限: 100

註冊: 2005-3-13

狀態: 離線
 
發表於 2008-8-3 18:12  資料  個人空間  主頁 短消息  加為好友 
fixed




 AL8 Forum © All rights reserved.
頂部
 旗仔
 0003204
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

頭銜: Moderator

暱稱: Lamb Of God

帖子: 3071

精華: 0

積分: 1320 點

現金: 490 元

存款: 30775 元

閱讀權限: 100

註冊: 2004-6-22

狀態: 離線
 
發表於 2008-8-3 21:24  資料  個人空間  主頁 短消息  加為好友  添加 旗仔 為MSN好友 通過MSN和 旗仔 交談 ICQ 狀態
回覆 #1 ntf 的帖子

其實將
/\[quote\=(.*?)\](.*?)\[\/quote\\]/is

換成
/\[quote\=(.*?)\]([^\[quote\]].*?)\[\/quote\\]/is

就可以避免忽略quote tag內的quote tag了




 AL8 Forum © All rights reserved.
頂部
 ntf
 0043014
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

頭銜: Moderator

自述: ntf

帖子: 3713

精華: 0

積分: 6403 點

現金: 0 元

存款: 38423 元

閱讀權限: 100

註冊: 2006-4-7

狀態: 離線
 
發表於 2008-8-3 21:40  資料  個人空間  短消息  加為好友 
回覆 #15 旗仔 的帖子

但係格式有2個 \[quote\=(.*?)\] 及 \[quote\]

([^\[quote\]].*?) 應該唔得架喎




 AL8 Forum © All rights reserved.
頂部


網頁空間由 I-SERVICES 提供
當前時區 GMT+8, 現在時間是 2008-12-5 10:26