簡體   English   中英

查找2個符號之間的內部文本,並使用php中的正則表達式替換內部文本

[英]Find a inner text between 2 symbols and replace inner text using regular expressions in php

我一直在谷歌搜索並嘗試自己解決這個問題,但我不能並且只會頭痛。 我有這個字符串:

"estamos en el registro {id} cuyo contenido es {contenido} por lo que veremos su {foto}"

我需要將{value}替換為$ value以得到這樣的字符串

"estamos en el registro $id cuyo contenido es $contenido por lo que veremos su $foto"

它在PHP中使用正則表達式

預先感謝您的任何回答

像這樣做:

$replaced = preg_replace('~{([^}]*)}~', '$$1', $yourstring);

演示中 ,請參閱底部的替代內容。

  • {匹配左括號
  • }匹配右括號
  • ([^}]*) ,括號捕獲到組1 [^}]* ... [^}]是負字符類,表示一個字符而不是右括號, *量詞表示零或更多次
  • $$1將匹配項替換為文字$和捕獲組( $1 )的內容

是的,可以,您可以使用preg_replace()函數執行此任務。

如果花括號始終保持平衡,則可以使用以下內容。

$text = preg_replace('/{(.*?)}/', '$$1', $text);

工作演示

暫無
暫無

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

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