Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.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,我正在尝试查找字符串中的所有hashtag 示例字符串: Hello World Hello World Hello World Hello_World测试标签 我尝试使用以下代码: preg_match_all('/#([^\s]+)/', $postbody, $matches); $tags = implode(',', $matches[1]); var_dump($tags); 结果是 你好,世界,你好世界,你好世界,测试标签 除了A-Z、A-Z和0-9之外,如何使其

我正在尝试查找字符串中的所有hashtag

示例字符串:

Hello World Hello World Hello World Hello_World测试标签

我尝试使用以下代码:

preg_match_all('/#([^\s]+)/', $postbody, $matches);
    $tags = implode(',', $matches[1]);
    var_dump($tags);
结果是

你好,世界,你好世界,你好世界,测试标签

除了A-Z、A-Z和0-9之外,如何使其以任何字符结尾

我的目标输出是

你好,世界,测试

我希望它在到达一个不是字母或数字也不是打印副本的字符之前停止

参考: 您可以使用[a-zA-Z0-9]正则表达式仅获取字母和数字。 然后,使用筛选出重复的匹配项

$postbody = 'Hello World #Hello #World #Hello-World #Hello_World #Test-Tag';

preg_match_all('/#([a-zA-Z0-9]+)/', $postbody, $matches);
if(!empty($matches)){
   $tags = implode(',', array_unique($matches[1]));
   var_dump($tags);
}
输出:string16 Hello,World,Test

这就是你想要的吗@Saral我想要这个,但只回复Hello,World,Test在preg_match_中使用A-Za-z0-9,一切都很完美!谢谢