[英]preg_replace expression help needed for PHP
試圖從某些文本中剝離一些BBCode。 我想使用PHP preg_replace函數刪除[img]和[/ img]之間的所有內容,例如:
Here is my image[img]http://www.abc.com/image1.jpg[/img] and more text
匹配:[img],后跟任意數量的字符,后跟[/ img]
結果:
Here is my image and more text
謝謝。
首先,找到與您的BBCode標簽匹配的模式:
\[img\][^\[]+\[/img\]
唯一困難的部分是類[^\\]]
。 \\[
表示任何左括號,^表示NOT。 因此,此類將匹配所有非[
。
您也可以將類替換為.+
並使用U(ungreedy)選項。
既然您現在要使用哪種模式,只需將其替換為...一個空字符串。 工作完成了!
這是一個非常基本的正則表達式,理解並重現它很重要。
/\[img\].*?\[\/img\]/i
將處理[img]
和[/img]
之間的所有內容(不區分大小寫)
不要忘記對內容進行分組,例如'/[img](.+)[\\/img]/i',因此在替換條件時,您可以引用標簽'<img src =“ $ 1” />之間的值'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.