PHP:查找拉丁词

时间:2018-10-05 21:34:18

标签: php

我的文字:

$string = "Hello World سلام How are you من ایرانی هستم This تست برای ارسال است";

我想得到这个输出:

[0]=>'Hello World',[1]=>'How are you',[2]=>'This'

我怎么能?

2 个答案:

答案 0 :(得分:0)

喜欢这个:

preg_replace('/[^\x21-\x7E]*[^\x20-\x7E][^\x21-\x7E]*/',"\n", $string)

如果您实际上想获取包含这些行的数组,请改用preg_split

preg_split('/[^\x21-\x7E]*[^\x20-\x7E][^\x21-\x7E]*/', $string, -1, PREG_SPLIT_NO_EMPTY)

该正则表达式意味着用单个换行符替换任何不可打印的ASCII字符序列,其中可能包括空格或空格。

答案 1 :(得分:0)

您应该使用Regex来实现这一点(您可以编写几个Regex):

preg_split("/(\b\W{2,})/", $string, -1, PREG_SPLIT_NO_EMPTY);
  • \ b :任何单词边界
  • \ W :任何非单词字符
  • \ W {2,} :2个或多个 \ W

示例链接( 选择Preg_Split ):https://www.phpliveregex.com/p/ptD

Regex tutorial