我有以下短语,我需要在PHP中删除英文字符
$field = "日本語フレーズ A Japanese phrase A Japanese phrase 日本語フレーズ";
我有以下正则表达式
trim(preg_replace('/[a-zA-Z]/', '', $field));
但是这将留下不止一个空格。
日本語フレーズ 日本語フレーズ
我需要在它们之间只有一个空格。以下是预期的输出。
日本語フレーズ 日本語フレーズ
答案 0 :(得分:3)
[a-zA-Z ]+
你可以试试这个。。见。演示。
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);
答案 1 :(得分:2)
你需要尝试这样的事情: -
<?php
$field = "日本語フレーズ A Japanese phrase A Japanese phrase 日本語フレーズ";
$field1 = trim(preg_replace('/[a-zA-Z]/', ' ', $field));
echo trim(preg_replace('/\s+/', ' ', $field1));
?>
答案 2 :(得分:1)
您需要添加另一个preg_replace
功能。
$str = preg_replace(/[A-Za-z]/, '', $field);
echo preg_replace(/^\h+|\h+$|(\h)+/, '\1', $str);
答案 3 :(得分:0)
试试这个:
trim(preg_replace('/[a-zA-Z ]/', ' ', $field));