在两个符号之间查找内部文本,并在php中使用正则表达式替换内部文本
我一直在谷歌上搜索,并试图自己得到这个,但我不能,只有头痛。 我有这个字符串:在两个符号之间查找内部文本,并在php中使用正则表达式替换内部文本,php,regex,Php,Regex,我一直在谷歌上搜索,并试图自己得到这个,但我不能,只有头痛。 我有这个字符串: "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" 可以在P
"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
- 这样做:
$replaced = preg_replace('~{([^}]*)}~', '$$1', $yourstring);
在上,请参见底部的替换
与左大括号匹配{
匹配右大括号}
- 在
中,括号捕捉到组1([^}]*)
[^}]*
是一个负字符类,表示一个字符不是右大括号,[^}]
量词表示零次或多次*
将匹配项替换为文本$$1
和捕获组的内容($
)$1
$text = preg_replace('/{(.*?)}/', '$$1', $text);
是的,如果可能,您可以使用该功能执行此任务 如果花括号始终保持平衡,则可以使用以下方法
$text = preg_replace('/{(.*?)}/', '$$1', $text);
太好了,这个效果很好,一个演示站点非常有用,我不知道正则表达式的网站,非常感谢。太好了,这个效果很好,一个演示站点非常有用,我不知道正则表达式的网站,非常感谢