我一直在谷歌搜索并试图自己解决这个问题,但我不能解决问题。 我有这个字符串:
"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中使用正则表达式
提前感谢您的回答
答案 0 :(得分:2)
这样做:
$replaced = preg_replace('~{([^}]*)}~', '$$1', $yourstring);
在the demo上,请参阅底部的替换。
{
匹配左大括号}
匹配右括号([^}]*)
中,括号捕获到第1组[^}]*
... [^}]
是一个负字符类,表示一个不是右括号的字符,{{1量词意味着零次或多次*
将替换为文字$$1
和捕获组内容($
)答案 1 :(得分:2)
是的,您可以使用preg_replace()
功能执行此任务。
如果大括号总是平衡的,您可以使用以下内容。
$text = preg_replace('/{(.*?)}/', '$$1', $text);