gpt4 book ai didi

php - 识别组标签

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:46:46 24 4
gpt4 key购买 nike

我不确定如何解决这个问题 - 我有一个玩家列表,例如

  • Player
  • Coco [infi]
  • booo #team
  • someone
  • Dabadee #team
  • goliat #team
  • stratder [infi]

显然,Cocostratder有团队标签 [infi]booo , goliatDabadee有一个名为 #team 的标签.

我想列出不同的标签,但是标签可以是 <tag> #tag [tag]或任何人的(游戏)氏族标签(我正在从服务器获取游戏数据)。​​

我不确定具体怎么做,我能做的最好的事情是:

  • 爆炸 " "
  • 将爆炸中的每个可能的项目添加到一个数组中
  • 使数组只显示唯一的项目
  • 统计每个字符串在原始玩家列表中出现了多少次

然而,[tag]name如果我为一个空格爆炸,将被跳过。

有什么更好的主意吗?

最佳答案

这看起来像是正则表达式的工作。你可以有一定数量的正则表达式,并尝试一个接一个地匹配它们:

/**
* function to return a tag given a playerName
* @param $playerName string: player name, e.g. Coco [teamTag]
* @return array matching syntax (here 'brackets') and tag value (teamTag)
*/
function getTag($playerName) {

// Allowed syntaxes

$tagSyntaxes = array(
'hash' => '/#([\\w\\d]+)$/',
'html' => '/<tag>(.*?)<\/tag>/',
'bracket' => '/[[](.*?)[]]/',
);

// One loop to rule them all
foreach ($tagSyntaxes as $syntaxName => $regexp) {
if (preg_match($regexp, $playerName, $gregs)) {
// First syntax to match wins.
return array(
'syntax' => $syntaxName,
'tag' => $gregs[1])
)
}
}
// Loop exited with no match. Return a "dummy" tag
return array('syntax' => 'none', 'tag' => null);
}

关于php - 识别组标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21319334/

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