Maison > Article > développement back-end > php关于正则表达式的事_PHP教程
工作中,我们经常要用到正则表达式去匹配到我们想要的数据,甚至还会把匹配到的数据替换成我们需要的数据。这一切,似乎很难做到,但是如果你会熟练使用正则表达式,这些,就不是个菜了。
例1:$string为一个字符串,定义$patterns为一个基于索引的数组,
<?php date_default_timezone_set("Asia/Shanghai"); $string = 'kemo|addidas|就是这样的|haha|2013-12-13 09:00:09|weobo|lail'; $patterns = array(); $patterns[0] = '/2013-12-13 09:00:09/'; $patterns[1] = '/weobo/'; $patterns[2] = '/lail/'; $replacements = array(); $replacements[2] = date('Y-m-d H:i:s',time()); $replacements[1] = 'tengx'; $replacements[0] = 'buyao'; echo preg_replace($patterns, $replacements, $string); ?>
以上的例子会输出:
kemo|addidas|就是这样的|haha|2013-12-14 11:40:43|tengx|buyao
以上例子我们可以把我们需要替换的值用索引数组的形式表达出来,然后一个一个的去替换,是不是很方便呢?
下面么再来看一个,我们需要把字符串里面的日期转当前的日期或者为我们需要的东西
例2:
<?php date_default_timezone_set("Asia/Shanghai"); $string = 'kemo|addidas|就是这样的|haha|2013-12-13 09:00:09|weobo|lail'; $pattern = '/\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2}/'; $replacement = date('Y-m-d H:i:s',time()); echo preg_replace($pattern, $replacement, $string); ?>
kemo|addidas|就是这样的|haha|2013-12-14 12:07:55|weobo|lail