2012-10-28 198 views
3

任何人都可以幫我解決一些我無法解決的問題。我想在php_text替換動態文本SQL

Exemple [i] => [i:rlj7bc53] 
Exemple [u] => [u:rlj7bc53] 
Exemple [b] => [/b:rlj7bc53] 

更新設置高亮標記,也

[quote="Christo"] => [quote="Christo":rlj7bc53] 

因爲我已經使用這個請求的時刻。

update phpbb_posts 
    set post_text = replace(post_text, '[/quote]' , '[/quote:rlj7bc53]') 
+0

您正在使用哪些DBMS?例如,Oracle有regexp_replace,對此非常有用。 –

回答

0

測試它在運行更新之前:

SELECT post_text as [OldTag] 
     ,'[' + SUBSTRING(post_text, 2, (LEN(post_text) - 2)) + ':rlj7bc53]' AS [NewTag] 
FROM phpbb_posts 

實際的更新:

UPDATE phpbb_posts 
SET post_text = '[' + SUBSTRING(post_text, 2, (LEN(post_text) - 2)) + ':rlj7bc53]' 

請注意,他會通過增加更新該列[和]之間的所有文本:rlj7bc53到它。 如果您只想替換列上的特定標籤,可以這樣做:

UPDATE phpbb_posts 
    SET post_text = '[' + SUBSTRING(post_text, 2, (LEN(post_text) - 2)) + ':rlj7bc53]' 
    WHERE post_text = [i] 
    OR post_text = [u] 
    OR post_text = [/quote] 
+0

謝謝。你的回答是非常有用的 – Bolo

+0

我知道它已經有近3年了,但請標記答案是正確的,如果它幫助你:) –