如何提取标签内容?

时间:2010-11-04 20:27:52

标签: php regex

我正在尝试使用php提取标签后面的内容。

例如:

$sentence = 'This #Coffee is the #best!!';

如何获取值'咖啡'和'最佳'?请注意,我不希望在“最佳

之后出现感叹号

3 个答案:

答案 0 :(得分:15)

utf-8 / unicode中非常安全的全能:

preg_match_all('/#([\p{L}\p{Mn}]+)/u',$string,$matches);
var_dump($matches);

虽然,如果你没有使用/期待异国情调的角色,这可能同样有效并且更具可读性:

preg_match_all('/#(\w+)/',$string,$matches);

答案 1 :(得分:1)

试试这个:

|\#(\w*)|

运行像

这样的句子

我想用#this

获取所有#something

它会检索“某事”和“这个”。我假设你只想要正则表达式,使用的函数是preg_match_all

答案 2 :(得分:0)

我想要更好:

preg_match_all('/#([^#]+)#/msiU',$string,$matches);

处理多行句子