後でフィルタリングできる文字列として、その間にあるすべてのもの@[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 による毎年のイニシアチブで、一足の靴が子供の生活に与える影響についての認識を高めます。