Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP从字符串中获取哈希标记的单词_Php - Fatal编程技术网

使用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;
    }