【问题标题】:how can I get an array of substring between specific characters?如何获取特定字符之间的子字符串数组?
【发布时间】:2018-05-07 20:51:00
【问题描述】:

我有这个字符串

$names = "The names are: [Yossi] & [Jane] & [Mono] & [Kiko]"

我希望我的输入是:

array / list => [Yossi, Jane, Mono, Kiko]

我尝试使用这里的一些功能:link

但我得到的只是约西。

我理解我从这些函数中看到的只是“Yossi”的原因,但我不知道我可以在某种数组或某种列表中获取其余名称。

谢谢!

【问题讨论】:

  • 请发布您的代码。

标签: php string function substring php-7


【解决方案1】:

使用正则表达式/\[[a-zA-Z]*\]/

preg_match_all('/\[[a-zA-Z]*\]/', $names, $matches);

您的子字符串将保存在$matches[0]

查看preg_match_all的PHP文档

【讨论】:

【解决方案2】:
$names="The names are: [Yossi] & [Jane] & [Mono] & [Kiko]";
$clean1=explode(': ', $names);
$clean2=str_replace("] & ["," ",$clean1[1]);
$result=explode(" ", $clean2);

【讨论】:

  • 对足智多谋的赞誉,但正则表达式确实是正确的方法。这种方式太脆弱了,并且依赖于一些特定的东西,如果字符串略有不同,可能会破坏。
  • 同意正则表达式是更简单的方法:-) 赞成你的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-22
相关资源
最近更新 更多