我正在尝试使用php提取标签后面的内容。
例如:
$sentence = 'This #Coffee is the #best!!';
如何获取值'咖啡'和'最佳'?请注意,我不希望在“最佳”
之后出现感叹号答案 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);
处理多行句子