我有以下短语,我需要在 PHP 中删除英文字符
$field = "日本語フレーズ A Japanese phrase A Japanese phrase 日本語フレーズ";
我有以下正则表达式
trim(preg_replace('/[a-zA-Z]/', '', $field));
但这会留下一个以上的空格。
日本語フレーズ 日本語フレーズ
我只需要在它们之间留一个空格。以下是预期的输出。
日本語フレーズ 日本語フレーズ
[a-zA-Z ]+
你可以试试这个。替换为.See demo。
https://regex101.com/r/cK4iV0/16
$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 日本語フレーズ";
$field1 = trim(preg_replace('/[a-zA-Z]/', ' ', $field));
echo trim(preg_replace('/\s+/', ' ', $field1));
?>
您需要添加另一个preg_replace
功能。
$str = preg_replace(/[A-Za-z]/, '', $field);
echo preg_replace(/^\h+|\h+$|(\h)+/, '\1', $str);
试试这个:
trim(preg_replace('/[a-zA-Z ]/', ' ', $field));