我试图将带有主题标签的字符串分成单个主题标签。
我正在使用此代码:
preg_match_all('/#([^\s]+)/', $str, $matches);
#test #test #test #example
如果用户使用空格插入主题标签,则此方法可以正常工作。但是,如果他们直接相互关注呢?
#test#test#test#example
答案 0 :(得分:1)
你可以做到
$tags = explode('#', $string);
foreach($tags as $key => $tag)
$tags[$key] = '#' . $tag;
答案 1 :(得分:1)
试试这个:
preg_match_all('/#(\w+)/', $str, $matches);
示例:
<?php
$str = '#test #test2 #123 qwe asd #rere#dada';
preg_match_all('/#(\w+)/', $str, $matches);
var_export($matches);
输出:
array (
0 =>
array (
0 => '#test',
1 => '#test2',
2 => '#123',
3 => '#rere',
4 => '#dada',
),
1 =>
array (
0 => 'test',
1 => 'test2',
2 => '123',
3 => 'rere',
4 => 'dada',
),
)
我认为学习RegEx将帮助您解决这些问题。