Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php preg replace::regex_Php_Regex_Preg Replace - Fatal编程技术网

php preg replace::regex

php preg replace::regex,php,regex,preg-replace,Php,Regex,Preg Replace,如果我有一个字符串,看起来像我的名字是{your name here},我来自{country}。 我试图使用preg_replace删除{content},因此字符串的结尾是我的名字是,我来自。 但我无法计算出该模式的正则表达式 有人能帮我吗? 我的名字是,我来自。只是一个示例字符串 它可能类似于当前日期是{suburban}{current date}或者类似于: /\{[^{}]*}/ 未经测试,但应该让您开始。首先匹配{,然后匹配除}之外的所有项,然后匹配最终的} 编辑:已修复,现在

如果我有一个字符串,看起来像
我的名字是{your name here},我来自{country}。
我试图使用preg_replace删除
{content}
,因此字符串的结尾是
我的名字是,我来自。

但我无法计算出该模式的正则表达式

有人能帮我吗?
我的名字是,我来自。
只是一个示例字符串


它可能类似于当前日期是{suburban}{current date}或者类似于:

/\{[^{}]*}/
未经测试,但应该让您开始。首先匹配{,然后匹配除}之外的所有项,然后匹配最终的}


编辑:已修复,现在已实际测试;)

可能类似于:

/\{[^{}]*}/
未经测试,但应该让您开始。首先匹配{,然后匹配除}之外的所有项,然后匹配最终的}

编辑:已修复,现在已实际测试;)

您可以尝试:

\{.*?}
您可以尝试:

\{.*?}
对于您的“工具箱”:有在线正则表达式检查器,例如一个。它提供了一个很好的测试平台,因为它完全独立于您的代码

+1 Evert--您的解决方案看起来不错。

对于您的“工具箱”:有在线正则表达式检查器,例如一个。它提供了一个很好的测试平台,因为它完全独立于您的代码

$str = 'my name is {your name here} and I am from {country}.';
echo preg_replace('/{.*?}/', '', $str),"\n";
+1埃弗特——你的解决方案看起来不错

$str = 'my name is {your name here} and I am from {country}.';
echo preg_replace('/{.*?}/', '', $str),"\n";
输出:

my name is  and I am from .
输出:

my name is  and I am from .

我很好奇。。这有什么意义?字符串
“我的名字是,我来自。”
的值是多少?因为{content}实际上是模板中的关键字,所以当用户在文本框中输入时,它们会被填充。但我不希望{content}显示他们没有输入任何内容;)我很好奇。。这有什么意义?字符串
“我的名字是,我来自。”
的值是多少?因为{content}实际上是模板中的关键字,所以当用户在文本框中输入时,它们会被填充。但我不希望{content}显示他们没有输入任何内容;)+1,但a)可以在字符类中删除反斜杠(通常在右大括号之前),b)不需要括号,c)也可以在此处添加左大括号。这将确保正则表达式在嵌套标记上完全失败,而不是匹配
{tag1{tag2}
并使
标记1}的其余部分保持不匹配
/\{[^{}]*}/
也一样好。+1,但a)可以在字符类中删除反斜杠(通常在右大括号之前),b)不需要括号,c)也可以在此处添加左大括号。这将确保正则表达式在嵌套标记上完全失败,而不是匹配
{tag1{tag2}
并使
标记1}的其余部分保持不匹配<代码>/\{[^{}]*}/
也一样好。