我的目标是通过Microsoft Word文档(.docx)过滤所有日语汉字和假名.我正在使用的当前代码如下:
preg_match_all('~[\x{4e00}-\x{9faf}]([\x{3040}-\x{309f}]) \= ([a-z]) \=+~u', $data, $matches);
Run Code Online (Sandbox Code Playgroud)
根据一些研究,我发现日文文本的unicode值如下:http://www.rikai.com/library/kanjitables/kanji_codes.unicode.shtml
我正在使用的数据示例如下所示:
时(とき)= toki =时间; 小时; 场合; 时刻を= wo =粒子标记句子的直接对象(时=时间)超えて(こえて)= koete = cross
我的最终目标是能够以类似的模式运行preg_match_all获取数据,看起来像"超えて(こえて)= koete"之前的信息(以及里面的信息()和之后的罗马化= =
我正在寻找的结果将是一个返回的数组,看起来像:
array(
0 => array('?', '??', 'toki'),
1 => array('???', '???', 'koete')
);
Run Code Online (Sandbox Code Playgroud)
每个数组的第一个结果包括"汉字,平假名,可能还有片假名",而第二个结果只有平假名,第三个结果只是普通的字母字符.我对正则表达式并不是很好,并添加了Japaense unicode,我很无能为力,任何帮助都会非常感激!谢谢!
我需要在每个时段,感叹号和问号将我的文本拆分成一个数组.
带有全宽周期和感叹号的示例:
$string = "?????????????????????????????????";
Run Code Online (Sandbox Code Playgroud)
我正在寻找以下输出:
Array (
[0] => ??????????????????????
[1] => ??????????? )
Run Code Online (Sandbox Code Playgroud)
我需要相同的代码才能使用半宽.
全宽和半宽混合的例子:$ string ="嗨.我是鲍勃!很高兴认识你.日本语を勉强しています.你了解我吗?";
输出:
Array (
[0] => Hi.
[1] => I am Bob!
[2] => Nice to meet you.
[3] => ????????????
[4] => Do you understand me? )
Run Code Online (Sandbox Code Playgroud)
我吮吸正则表达式,无法找到解决方案,也找不到解决方案.
我试过了:
$string = preg_split('(.*?[???])', $string);
Run Code Online (Sandbox Code Playgroud)