簡體   English   中英

在條件下替換字符串(正則表達式?)

[英]Replace a string under condition (Regex?)

我正在尋找搜索和替換的解決方案。 我需要在特定字符串之后添加一個空格,但只有在沒有空格時才需要。 正則表達式對我來說是先進的。 有人想幫我嗎?

例如

Lorem ipsum[something]abcdefg[/something]dolor sit amet

需要替換為

Lorem ipsum[something]abcdefg[/something] dolor sit amet

所以,我需要搜索[/something] ,如果后面沒有空格,則進行替換...

正則表達式可以是這樣的:

/(\[\/something\])(?!\s)/gmi

您可以測試它並在此處了解整個解釋:

https://regex101.com/r/pC4pQ3/1

如果你看到第一個被定位,因為不是空格,但第二個是相反的。

要在 PHP 中應用它,您必須使用preg_replace() 像這樣的東西:

$string = "Lorem ipsum[something]abcdefg[/something]dolor sit amet";
echo preg_replace("/(\[\/something\])(?!\s)/", "\1 ", $string);
// result: "Lorem ipsum[something]abcdefg[/something] dolor sit amet"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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