从短语中删除单词,并在单词之间只保留一个 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);
我有以下短语,我需要在 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);