从短语中删除单词,并在单词之间只保留一个 space

Remove words from phrase and leave only one space between the words

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

$field = "日本語フレーズ A Japanese phrase A Japanese phrase 日本語フレーズ";

我有以下正则表达式

trim(preg_replace('/[a-zA-Z]/', '', $field));

但是这样会留下多单space之间。

日本語フレーズ       日本語フレーズ

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

日本語フレーズ 日本語フレーズ

试试这个:

trim(preg_replace('/[a-zA-Z ]/', ' ', $field));

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

$str = preg_replace(/[A-Za-z]/, '', $field);
echo preg_replace(/^\h+|\h+$|(\h)+/, '', $str);

你需要尝试这样的事情:-

<?php
$field = "日本語フレーズ A Japanese phrase A Japanese phrase 日本語フレーズ";
$field1 = trim(preg_replace('/[a-zA-Z]/', ' ', $field));
echo trim(preg_replace('/\s+/', ' ', $field1));
?>
[a-zA-Z ]+

您可以通过 </code> 尝试 this.Replace。查看演示。</p> <p><a href="https://regex101.com/r/cK4iV0/16" rel="nofollow">https://regex101.com/r/cK4iV0/16</a></p> <pre><code>$re = "/[a-zA-Z ]+/m"; $str = "日本語フレーズ A Japanese phrase A Japanese phrase 日本語フレーズ"; $subst = " "; $result = preg_replace($re, $subst, $str);