PHP中的复杂字符串操作

时间:2012-02-22 20:49:33

标签: php string

我有一个字符串abc@123 (hello world) posted 23 July 1990 20:34:00 +000。我希望输出为hello world abc (abc@123) posted "on" 23 July 1990 "at" 20:34:00是否应该使用explode或preg()函数?

2 个答案:

答案 0 :(得分:2)

我使用带有preg_replace的正则表达式,这是一个可以改进的示例:

$str = 'abc@123 (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 ($1@$2) posted "on" $4 "at" $5', $str);

输出:

  

hello world abc(abc @ 123)于1990年7月23日“在”20:34:00发布“

Demo

答案 1 :(得分:1)

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