我知道preg_replace('/[{}]/', '', $string);
會消除大括號,但是如果我也有方括號也需要刪除它們呢?從字符串中刪除多個符號
回答
包括方括號(逃)到字符類:/[{}\[\]]/
不確定你是否擁有_have_來逃避開放課程中的[[] - 但這只是挑剔 –
@EliasVanOotegem:好點!可以在'charclass'中使用'[''']。至於我,如果兩個括號以相同的方式轉義(IMHO),則正則表達式更具可讀性。 [在非字母數字之前加上「\」來指定它代表它本身總是安全的](http://www.php.net/manual/en/regexp.reference.escape.php) –
你不得不逃避它:
/[{}[\]]/
我不是'當然,但在這裏,爲downvoter http://stackoverflow.com/questions/5484084/what-literal-characters-should-be-escaped-in-a-regex – elclanrs
答案是完全正確的; downvote的原因是神祕的... +1 –
當你正在尋找一個括號去除:
$str = preg_replace("/\[([^\[\]]++|(?R))*+\]/", "", $str);
這將轉換爲:
This [text [more text]] is cool
這樣:
This is cool
編輯
$string = '<p>hey</p><p>[[{"type":"media","view_mode":"media_large","fid":"67","attributes":{"alt":"","class":"media-image","height":"125","typeof":"foaf:Image","width":"125"}}]]</p>';
$new_string = preg_replace('/\[\[.*?\]\]/', '<b>img inserted</b>', $string);
echo $new_string;
讓我知道,如果我能幫助您進一步。
preg_replace('/[{}\[\]]/', '', $string);
你應該適當的轉義將它們添加到類在正則表達式
$string = 'asdf{[]a]}ds';
echo preg_replace('/[{}\[\]]/', '', $string);
輸出:asdfads
爲什麼要通過使用正則表達式此的麻煩。如果你正在做的是從一個字符串中取代4個字符:
str_replace(array('[',']','{','}'),'',$string);
會做同樣的事情。
- 1. 從字符串中刪除字符串模式和符號
- 2. 從字符串末尾刪除^符號
- 3. 從字符串中刪除多個字符串
- 4. 從字符串中刪除多個子字符串 - Java
- 5. 如何從字符串中刪除多個子字符串?
- 6. 從子字符串中刪除逗號
- 7. 從字符串中刪除破折號?
- 8. 從字符串中刪除撇號
- 9. 從字符串中刪除括號
- 10. Prolog從字符串中刪除括號
- 11. 從字符串中刪除加號(+)
- 12. 從字符串中刪除撇號python
- 13. 從字符串中刪除字符串
- 14. 從字符串中刪除字符串
- 15. C:刪除字符串中的符號
- 16. 從字符串中刪除多個字符類型
- 17. SQL Server的一個字符串中刪除多個字符串
- 18. 從字符串中的某個字符中刪除字符
- 19. VB.NET - 從字符串中刪除字符
- 20. 從c字符串中刪除字符
- 21. 從字符串中刪除Unicode字符
- 22. 從字符串中刪除字符
- 23. 從Java字符串中刪除字符
- 24. 從字符串中刪除字符C
- 25. datagridview從字符串中刪除'&'字符
- 26. C從字符串中刪除字符
- 27. 從字符串中刪除字符
- 28. Fortran:從字符串中刪除字符
- 29. jQuery從字符串中刪除' - '字符
- 30. 從字符串中刪除字符?
將它們添加到角色類中,並進行適當的轉義 – Robert