Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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/4/regex/20.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正则表达式hashtag和特殊字符_Php_Regex_Character Encoding - Fatal编程技术网

PHP正则表达式hashtag和特殊字符

PHP正则表达式hashtag和特殊字符,php,regex,character-encoding,Php,Regex,Character Encoding,好吧,不确定是愚蠢还是只是星期一 其实很简单。我有一个文本框,在其中输入文本。一个单词被标记为散列(#),然后被保存到数据库中作为该句子的散列标签 现在,我的函数如下所示: public function getHashtag($text) { print_r($text); preg_match_all('/(#\w+)/', $text, $hashTag); print_r($hashTag); die(); if (isset($hashT

好吧,不确定是愚蠢还是只是星期一

其实很简单。我有一个文本框,在其中输入文本。一个单词被标记为散列(#),然后被保存到数据库中作为该句子的散列标签

现在,我的函数如下所示:

    public function getHashtag($text)
{
    print_r($text);
    preg_match_all('/(#\w+)/', $text, $hashTag);
    print_r($hashTag);
    die();
    if (isset($hashTag[0][0])) {
        $hashTag = $hashTag[0][0];
        return $hashTag;
    } else {
        return '';
    }

}
打印只是调试的东西。 我想要实现的就是用散列得到单词。很好用,除非有人用法语输入一个有è或其他字符的单词。 然后,输出仅在第一个特殊字符处停止

#dfsdfaàèé asda sda sd asd aArray ( [0] => Array ( [0] => #dfsdfa ) [1] => Array ( [0] => #dfsdfa ) )

有什么想法吗只需使用这个表达式即可

读作“A
#
加上至少一个非空格或标点符号的字符。”


[:punct::
是其中之一。

托马拉克先生,谢谢你的回答!:D就是这样。需要更多的咖啡!谢谢你,伙计!