2011-10-03 177 views
3

我吸用預浸我永遠不會了解它:(這不應該是很難,我可以請有一個代碼示例,以取代大括號,包括空格,之間的一切一切都像:PHP替換大括號之間的所有內容?

$string = preg_replace('{.*?}#si', '', $string); 

什麼?

回答

6

你失蹤初始#分隔符:

'#\{.*?\}#s' 

看到它聯機工作:ideone

一對夫婦的其他小點:

  • i修飾符是不必要在這裏,因爲你沒有在模式中的任何信件。
  • 最好在正則表達式中使用{}以避免與作爲量詞使用的混淆,儘管在這種情況下它不是必須的。
+0

感謝您的回覆,但它所做的只是刪除第一個括號,並保留括號中的所有內容。 –

+0

@John Jenkins:作爲一個瘋狂的猜測,我想象你忘了'\}'或者在最後的'#'之前你有一個額外的空間或其他角色。發佈您嘗試的代碼,如果您想獲得更具體的幫助。 –

+0

我剛剛複製並粘貼了你給我的代碼。我嘗試着慢慢修改一些其他的代碼:$ string = preg_replace('#([{。*?]])*?([{。*?}])#e',「 ('\ t $ 2')「,$ string);它在每個週期和問號之後添加一個選項卡,但是我希望它爲所有括號之間的所有內容做到這一點。 –

1

看完您的其他問題後,您似乎想要使用它來美化您的代碼。雖然許多編輯器都將這種功能內置到一個文件中,但我想你可以將它應用到一堆文件中。如果是這種情況,請參見https://github.com/clbustos/PHP_Beautifier

編輯歸因於意見:然後,你不會想誠實地使用正則表達式。使用php tokenizer

+0

我想讓自己的美化者 –

+3

@JohnJenkins:通過請求其他人爲你寫錢? – mario

+1

我提供完全免費的無廣告我將主要使用它 –

相關問題