PHP中的复杂字符串操作

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秒

Demo

假设所有的字符串都是相同的格式,我会建议使用preg_replace()