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