我正在尝试匹配我的字符串中包含的标签,我@[anyNumbers:anyNumbers:anyLetters]
希望删除中间的@[]
所有内容作为我以后可以过滤的字符串。
完成此任务的最简单方法是什么?
$str = 'Have you heard of the @[159208207468539:274:One Day without Shoes] (ODWS) campaign? ODWS is an annual initiative by @[8416861761:274:TOMS] to bring awareness around the impact a pair of shoes can have on a child's life.';
function gettag($text){
//
//$regex = "\@[([a-z0-9-:]*)\]";
//$match = preg_match("/^$regex$/", $text);
//return $match;
return preg_replace('/@\[(\d+:\d+:[a-zA-Z]+)\]/', '${1}', $text);
}
gettag($str);
返回
你听说过@[159208207468539:274:One Day without Shoes] (ODWS) 活动吗?ODWS 是一项由 8416861761:274:TOMS 发起的年度倡议,旨在让人们了解一双鞋可能对孩子的生活产生的影响。