首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从短语中删除单词,在单词之间只留下一个空格。

从短语中删除单词,在单词之间只留下一个空格。
EN

Stack Overflow用户
提问于 2015-07-06 06:04:16
回答 4查看 295关注 0票数 4

我有以下短语,我需要在PHP中删除英文字符

代码语言:javascript
复制
$field = "日本語フレーズ A Japanese phrase A Japanese phrase 日本語フレーズ";

我有以下正则表达式

代码语言:javascript
复制
trim(preg_replace('/[a-zA-Z]/', '', $field));

但这将留下一个以上的空间之间。

代码语言:javascript
复制
日本語フレーズ       日本語フレーズ

我需要他们之间只有一个空间。以下是预期的输出。

代码语言:javascript
复制
日本語フレーズ 日本語フレーズ
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-07-06 06:08:10

您需要添加另一个preg_replace函数。

代码语言:javascript
复制
$str = preg_replace(/[A-Za-z]/, '', $field);
echo preg_replace(/^\h+|\h+$|(\h)+/, '\1', $str);
票数 1
EN

Stack Overflow用户

发布于 2015-07-06 06:20:04

代码语言:javascript
复制
[a-zA-Z ]+

您可以通过this.Replace演示来尝试.See。

https://regex101.com/r/cK4iV0/16

代码语言:javascript
复制
$re = "/[a-zA-Z ]+/m";  
$str = "日本語フレーズ A Japanese phrase A Japanese phrase 日本語フレーズ"; 
$subst = " "; 

$result = preg_replace($re, $subst, $str);
票数 3
EN

Stack Overflow用户

发布于 2015-07-06 06:14:01

你得试试这样的方法:-

代码语言:javascript
复制
<?php
$field = "日本語フレーズ A Japanese phrase A Japanese phrase 日本語フレーズ";
$field1 = trim(preg_replace('/[a-zA-Z]/', ' ', $field));
echo trim(preg_replace('/\s+/', ' ', $field1));
?>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31238692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档