工作中,我们经常要用到正则表达式去匹配到我们想要的数据,甚至还会把匹配到的数据替换成我们需要的数据。这一切,似乎很难做到,但是如果你会熟练使用正则表达式,这些,就不是个菜了。
例1:$string为一个字符串,定义$patterns为一个基于索引的数组,
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?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 );
?>
|
Copier après la connexion
以上的例子会输出:
1 | kemo|addidas|就是这样的|haha|2013-12-14 11:40:43|tengx|buyao
|
Copier après la connexion
以上例子我们可以把我们需要替换的值用索引数组的形式表达出来,然后一个一个的去替换,是不是很方便呢?
下面么再来看一个,我们需要把字符串里面的日期转当前的日期或者为我们需要的东西
例2:
1 2 3 4 5 6 7 | <?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 );
?>
|
Copier après la connexion
以上的例子会输出:
1 | kemo|addidas|就是这样的|haha|2013-12-14 12:07:55|weobo|lail
|
Copier après la connexion