![](/img/trans.png)
[英]How to remove special characters from a string (URL) using regular expression on wordpress, php, javascript
[英]How to remove a string between the specific characters using regular expression in PHP?
我有下面的字符串,
$string = "test coontevt [gallery include=\"12,24\"] first [gallery include=\"12,24\"] second";
我需要刪除該字符串開頭[gallery
先ocuurance的是]
。
我已經用過了
$string12 = preg_replace('/[gallery.+?)+(/])/i', '', $string);
但我只得到空字符串。
最后我想要上述字符串的結果是,
$string ="test coontevt first second".
如何使用正則表達式執行此操作?
請幫我嗎?
字符[
是正則表達式元字符。 要匹配文字[
您需要對其進行轉義。
$string12 = preg_replace('/\[gallery.+?\]/i', '', $string);
要么
$string12 = preg_replace('/\[gallery[^\]]+\]/i', '', $string);
您需要轉義方括號
$string12 = preg_replace('/\[gallery.+?\]/i', '', $string);
圓括號是不必要的,因此我刪除了它們,也刪除了這些括號之間的量詞以及最后一個方括號之前的正斜杠。
為了避免結果中出現多個空格,我還要匹配周圍的空格並替換為1個空格。
\\s+\\[gallery.+?\\]\\s+
並替換為一個空格
$string12 = preg_replace('/\s+\[gallery.+?\]\s+/i', ' ', $string);
在Regexr上在線查看此表達式
像這樣嘗試:
$string12 = preg_replace('/\[gallery[^\]]+\]/i', '', $string);
[^\\]]+
表示可以有一個或多個不是]
字符。 而且,如果您不想使用反向引用,則不需要任何(
和)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.