使用PHP从字符串中获取哈希标记的单词
我试图在给定字符串中创建一个包含所有哈希标记的数组,然后在其中循环并回显每个哈希标记,以显示它们已被存储。我可能做错了什么使用PHP从字符串中获取哈希标记的单词,php,Php,我试图在给定字符串中创建一个包含所有哈希标记的数组,然后在其中循环并回显每个哈希标记,以显示它们已被存储。我可能做错了什么 <?php $string= "Went for an awesome bike ride today! #biking"; preg_match_all('/#(\w+)/',$string, $matches); foreach ($matches as $tag) { echo $tag;
<?php
$string= "Went for an awesome bike ride today! #biking";
preg_match_all('/#(\w+)/',$string, $matches);
foreach ($matches as $tag) {
echo $tag;
}
?>
只输出匹配项
$matches
是一个数组,它包含的条目数量与正则表达式中的括号加上一个相同
另请参见:如果您不知道,请首先对变量使用
var\u dump()
,以了解其内部结构。@user2320500,如我所说:请参见。你会注意到发生了什么。。。也许…我的正则表达式是什么?为什么加上一个?@user2320500/#(\w+)/
这是你的正则表达式。在$matches
数组中有两个条目,因为您有一个括号部分((\w+)
)。(加上一个,总匹配)
foreach ($matches[1] as $tag) {
echo $tag;
}