Php 如何替换只知道开头和结尾的字符串?
我在php中有一个字符串,其中有一个标记:Php 如何替换只知道开头和结尾的字符串?,php,regex,string,Php,Regex,String,我在php中有一个字符串,其中有一个标记: $str = "bla bla {video something} bla bla"; 其中,某物可以是任何东西 我现在想用替换{video something}。我想我需要一个正则表达式来做这个,但我有点迷失在正则表达式的事情中。有人知道我怎么做吗 欢迎所有提示 如果要替换所提供字符串中以视频开头的大括号之间的所有内容,可以使用: <?php $str = "bla bla {video something} bla bla"; $str=
$str = "bla bla {video something} bla bla";
其中,某物
可以是任何东西
我现在想用
替换{video something}
。我想我需要一个正则表达式来做这个,但我有点迷失在正则表达式的事情中。有人知道我怎么做吗
欢迎所有提示
如果要替换所提供字符串中以视频开头的大括号之间的所有内容,可以使用:
<?php
$str = "bla bla {video something} bla bla";
$str=preg_replace ('/{(.*?)}/',"<iframe id=123>",$str);
echo $str;
解释
- 匹配开头的花括号
{
- 一个正向前瞻
(?=video.*?})
,它断言接下来的是视频,直到最后一个大括号
- 在组中捕获任何非贪婪的字符
(.*)
- 匹配右大括号
}
例如:
$string = "bla bla {video something} bla bla";
$string = preg_replace ('/{(?=video.*?})(.*?)}/',"<iframe id=123>", $string);
echo $string;
$string=“bla bla{video something}bla bla”;
$string=preg_replace('/{(?=video.*?})(.*?}/','',$string);
echo$字符串;
可以使用这个正则表达式:/{video\h+[^}]+}/
或preg\u replace('/{video\h+[^}]+}/',''.$str)代码>(?您能提供更多信息吗,也许是更多的示例字符串?还有您所宣称的“已知”的确切内容,但没有具体说明。