我有一个字符串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()函数?
答案 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发布“
答案 1 :(得分:1)
假设所有字符串格式相同,我建议使用preg_replace()
。