2012-10-04 174 views
0

我有一個變量$文本,用價值:替換文本(的preg_replace)

... 
[one_fourth] 
[quote autor="Someone"] 
"This is a quote" 
[/quote] 
[/one_fourth] 
... 

我要替換/刪除 「[報價」 和 「了[/ quote]」 包括 「[報價」 之間的一切和「[/ quote]」。這是我試過的:

$text = preg_replace("/\[quote.*\[\/quote\]/", '', $text); 

但是我沒有成功。我如何管理這個?

謝謝

回答

1

這個作品

$text = preg_replace("/\[quote.*\[\/quote\]/s", '', $text); 

你必須告訴PHP的.具有匹配換行符(閉幕後的參數s/

+0

正是這樣!謝謝你,像一個魅力一樣工作! 小東西......謝謝你的解釋 – dee

+1

你不需要括號,只需要's'修飾符。 – Barmar

+0

Barmar是對的,已被糾正(習慣...) –

-1
use 
<?php 
echo str_replace("\"","",$text); 
?> 
+0

這段代碼如何替換/刪除「[quote」和「[quote]」之間的所有內容,包括「[quote」和「[/ quote]」?你嘗試過嗎?你只是刪除「 –

+0

是的,在我的代碼中,我已經多次使用了這個函數,它可以幫助我替換這個引號str_replace()是preg_replace()的替代,唯一不同的是str_replace()的處理速度比preg_replace () – Deval

+0

他不想替換雙引號字符,他想替換字符串[quote]'和'[/ quote]'所包圍的文本部分。 – Barmar

-1

你去吧

$text = preg_replace("#\[quote(.*)\]\s*(.*)\s*\[\/quote\]#","$1 $2", $text); 
+0

我認爲你想抓住..... – Surace

+0

之間的價值,如果你真的想要投票,然後留下評論以及.. – Surace