簡體   English   中英

PHP需要preg_replace表達式幫助

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM