Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.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,我有3个这样的字符串: $str_1=''ハッスルの日」開催について'; $stru_2='今天是星期一'; $str_3='(167スルの日日)'; 我有一个用户输入框。如果字符串包含文本用户输入,它会将该字符串导出到CSV文件。例如-input:Today-$str_2将导出到新的CSV文件 现在我有两个问题: 如果用户输入日文括号或日文字符,我的程序找不到它。我从其他文本文件中读取这些字符串,因此我不知道应该对用户输入进行编码还是需要对字符串进行编码。我尝试了两种方法,但仍然不适合我 当

我有3个这样的字符串:

$str_1=''ハッスルの日」開催について';
$stru_2='今天是星期一';
$str_3='(167スルの日日)';
我有一个用户输入框。如果字符串包含文本用户输入,它会将该字符串导出到CSV文件。例如-input:Today-$str_2将导出到新的CSV文件

现在我有两个问题:

  • 如果用户输入日文括号或日文字符,我的程序找不到它。我从其他文本文件中读取这些字符串,因此我不知道应该对用户输入进行编码还是需要对字符串进行编码。我尝试了两种方法,但仍然不适合我

  • 当我将日文字符回显到浏览器时,它显示ok,但当我导出到CSV时,它显示如下:稨ç¨Ã¨Ã¨Ã¥。我应该如何正确导出它


  • 我们可能会在这里使用正则表达式来检测日语字符,我们可以从以下内容开始:

    ([\p{Katakana}\p{Hiragana}\p{Han}「」]+)
    
    我们可以简单地向这个char类添加我们想要的任何其他char:

    [\p{Katakana}\p{Hiragana}\p{Han}「」]
    
    试验 输出 我们还可以使用参考资料中列出的日本Unicode来保存/检索数据

    参考文献

    您使用什么代码搜索日文字符?什么是编码?您使用的当前字符编码是什么?
    当我将日文字符回送到浏览器时,它显示ok,但当我导出到CSV时,它显示如下:秧§§“Ô。我应该做什么才能正确导出它
    在哪里它显示了吗?它可能被正确导出,但读取文件的工具可能不支持您正在使用的字符集。
    $re = '/([\p{Katakana}\p{Hiragana}\p{Han}「」]+)/mu';
    $str = '「ハッスルの日」開催について
    Today is monday
    167スルの日日';
    
    preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
    
    // Print the entire match result
    var_dump($matches);
    
    array(2) {
      [0]=>
      array(2) {
        [0]=>
        string(42) "「ハッスルの日」開催について"
        [1]=>
        string(42) "「ハッスルの日」開催について"
      }
      [1]=>
      array(2) {
        [0]=>
        string(15) "スルの日日"
        [1]=>
        string(15) "スルの日日"
      }
    }