gpt4 book ai didi

php在两个分隔符之间 explode 并且分隔符没有丢失

转载 作者:行者123 更新时间:2023-12-04 09:00:44 27 4
gpt4 key购买 nike

如何在分隔符“[”之间分解字符串,但我希望分隔符不会丢失
例如,我有这样的字符串

$str = "i want to show you my youtube channel : [youtube id=12341234] and my instagram account : [instagram id=myingaccount213]
我想要这样的结果
  [0]=>
string(61) "i want to show you my youtube channel : [youtube id=12341234]"
[1]=>
string(68) "and my instagram account : [instagram id=myingaccount213]"
如果我使用 $tes = explode("]", $content); “]”丢失

最佳答案

除了拆分之外,您还可以通过匹配可选的水平空白字符来匹配您想要的部分,然后在第 1 组中捕获尽可能少的字符,然后匹配 [...]对于匹配,使用 $matches[1] 获取组 1 值

\h*(.*?\[[^][]*])
Regex demo | Php demo
示例代码
$s = "i want to show you my youtube channel : [youtube id=12341234] and my instagram account : [instagram id=myingaccount213]";
preg_match_all("~\h*(.*?\[[^][]*])~", $s, $matches);
print_r($matches[1]);
输出
Array
(
[0] => i want to show you my youtube channel : [youtube id=12341234]
[1] => and my instagram account : [instagram id=myingaccount213]
)
另一种选择是使模式更适合 youtube 或 instagram:
\h*(.*?\[(?:youtube|instagram)\h+id=[^][\s]+])
Regex demo

关于php在两个分隔符之间 explode 并且分隔符没有丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63570845/

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