我想用引号中的中文+英文替换文字:
示例源文本:
emMsg('您的php版本过低,请选择支持PHP5的环境安装英文单词。');
或
(程序不会自动创建数据库,请提前创建一个空数据库或使用已有数据库)
preg_replace("/(?:[(]([\p{Han}]+)[)] )?/ux", '-', $val);
但结果未获得,我做错了什么?
答案 0 :(得分:0)
$str = "emMsg('您的php版本过低,请选用支持PHP5的环境安装english word。');";
$res = preg_replace( "~emMsg\(('*)(.+?)('*)\);~", 'emMsg(\\1-\\3);', $str );
print_r( $res );
这就是你的意思吗?
$str = "emMsg('您的php版本过低,请选用支持PHP5的环境安装english word。');";
$str = preg_replace( "~\p{Han}+~u", '', $str );
$res = preg_replace( "~emMsg\(('*)(.+?)('*)\);~", 'emMsg(\\1\\2\\3);', $str );
print_r( $res );
我认为你不能以任何格式匹配所有与拉丁语混合的汉语。