gpt4 book ai didi

php - 使用PHP将字符串内大括号之间的子字符串提取到数组中

转载 作者:行者123 更新时间:2023-12-04 22:16:15 24 4
gpt4 key购买 nike

我需要帮助来提取特定字符串中大括号之间的所有子字符串。

我在 javascript 中找到了一些解决方案,但我需要它用于 PHP。

$string = "www.example.com/?foo={foo}&test={test}";
$subStrings = HELPME($string);
print_r($subStrings);

结果应该是:

array( [0] => foo, [1] => test )

我试过玩preg_match但我很困惑。

如果有人设法让它与 preg_match 一起工作,我将不胜感激,并解释它背后的逻辑是什么。

最佳答案

您可以使用此正则表达式捕获 {}

之间的字符串
\{([^}]*)\}

解释:

  • \{ 匹配文字 {
  • ([^}]*) 捕获所有非 的字符零次或多次。所以它会捕获下一个 } 符号。
  • \} 匹配文字

你的代码是,

<?php
$regex = '~\{([^}]*)\}~';
$string = "www.example.com/?foo={foo}&test={test}";
preg_match_all($regex, $string, $matches);
var_dump($matches[1]);
?>

输出:

array(2) {
[0]=>
string(3) "foo"
[1]=>
string(4) "test"
}

DEMO

关于php - 使用PHP将字符串内大括号之间的子字符串提取到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24410876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com