我正在使用谷歌翻译api来做一些简单的事情,但是当我将英语翻译成其他语言时,它有时会在引号之间留出空格,所以有人能在php中给我一个正则表达式匹配语句来替换引号和第一个单词之间的空格,以及引号和最后一个单词之间的空格吗?
示例翻译短语:单词“constructie in Londen”单词
我希望正则表达式将其转换为: word "constructie in Londen“word word
谢谢!
发布于 2011-02-14 03:59:37
这就是模式:"\s*(.*?)\s*"
$str = 'word word word " constructie in Londen " word word word';
$newStr = preg_replace('/"\s*(.*?)\s*"/', '"\\1"', $str);
echo $newStr;
// word word word "constructie in Londen" word word word
这也适用于多个引用的细分市场:
$str = 'word word word " constructie in Londen " word word wordword word word " constructie in Londen " word word wordword word word " constructie in Londen " word word word';
$newStr = preg_replace('/"\s*(.*?)\s*"/', '"\\1"', $str);
echo $newStr;
// word word word "constructie in Londen" word word wordword word word "constructie in Londen" word word wordword word word "constructie in Londen" word word word
或者,可以将/e
修改器与trim一起使用:
$str = 'word word word " constructie in Londen " word word wordword word word " constructie in Londen " word word wordword word word " constructie in Londen " word word word';
$newStr = preg_replace('/"(.*?)"/e', "'\"'.trim('\\1').'\"'", $str);
echo $newStr;
// word word word "constructie in Londen" word word wordword word word "constructie in Londen" word word wordword word word "constructie in Londen" word word word
编辑了以使用Phil Brown的建议。
编辑了以使用Alan Moore的建议。
https://stackoverflow.com/questions/4988690
复制相似问题