Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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_Regex_Character Encoding_Preg Replace_Cjk - Fatal编程技术网

Php 正则日语单词无法逃脱

Php 正则日语单词无法逃脱,php,regex,character-encoding,preg-replace,cjk,Php,Regex,Character Encoding,Preg Replace,Cjk,我想删除一些标签,包括日语,我遇到了一个问题,一些单词无法删除 $text = "#食への好きな人と繋かりたい #食への好きな人と繋がりたい #食べるの好きな人と繋がりたい"; echo "\n".$text; echo "\n".preg_replace("/#([.\w]+)/u", "", $text); 上述代码的输出为: ゙りたい2 ゙るの好きな人と繋がりたい3 而预期输

我想删除一些标签,包括日语,我遇到了一个问题,一些单词无法删除

$text = "#食への好きな人と繋かりたい #食への好きな人と繋がりたい #食べるの好きな人と繋がりたい";

echo "\n".$text;
echo "\n".preg_replace("/#([.\w]+)/u", "", $text);
上述代码的输出为:

 ゙りたい2 ゙るの好きな人と繋がりたい3
而预期输出应该为空

我的观察结果是,如果字符在右上角包含“字符”(即
が
べ)这种模式则无法转义单词。如果我将其更改为
然后这些单词被转义


我花了一段时间才弄明白,但它们不起作用。请帮助我避开日语单词。谢谢。

我将使用以下正则表达式作为标签:

#\S+
这将匹配一个前导的
#
字符,后跟一个或多个非空白字符(包括日语汉字)

示例脚本:

$text = "#食への好きな人と繋かりたい #食への好きな人と繋がりたい #食べるの好きな人と繋がりたい";
echo $text . "\n";
$text = preg_replace("/#\S+/", "", $text);
echo $text;

第二个
echo
只打印两个空格(将原始输入中的三个hashtag分隔开)

如果您真的只想针对日语标签,则更准确的答案需要为此编写正则表达式。我的答案将针对所有标签,不考虑语言。没问题,我明白您的意思,答案就是我想要的。我想针对所有标签。谢谢!