Используя регулярное выражение и preg_match_all()
, вы можете получить что-то вроде этого:
$str = <<<STR
this is a string
with a #tag and
another #hello one
STR;
$matches = array();
if (preg_match_all('/#([^\s]+)/', $str, $matches)) {
var_dump($matches[1]);
}
, который дает следующий вывод:
array
0 => string 'tag' (length=3)
1 => string 'hello' (length=5)
И, если вам нужно сделать немного больше манипуляций с ними, вам следует взглянуть на раздел PCRE Functions руководства:Есть и другие, которые могут вам помочь.