我的文字:
$string = "Hello World سلام How are you من ایرانی هستم This تست برای ارسال است";
我想得到这个输出:
[0]=>'Hello World',[1]=>'How are you',[2]=>'This'
我怎么能?
答案 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);
示例链接( 选择Preg_Split ):https://www.phpliveregex.com/p/ptD