PHP中的复杂字符串操作
问题描述:
我有一个字符串[email protected] (hello world) posted 23 July 1990 20:34:00 +000
。我想输出为hello world abc ([email protected]) posted "on" 23 July 1990 "at" 20:34:00
应该用explode还是preg()函数完成?PHP中的复杂字符串操作
答
我会使用一个正则表达式与preg_replace
,这里是可以容易加以改进的例子:
$str = '[email protected] (hello world) posted 23 July 1990 20:34:00 +000';
echo preg_replace('/([A-Za-z]+)@(\d+) \(([A-Za-z ]+)\) posted (\d+ [A-Za-z]+ \d+) (\d+:\d+:\d+) .*/', '$3 $1 ([email protected]$2) posted "on" $4 "at" $5', $str);
输出:
的hello world广播公司(ABC @ 123)发布的“关于“1990年7月23日 ”在“ 二十时34分00秒