Home >php教程 >php手册 >php关于正则表达式的事

php关于正则表达式的事

WBOY
WBOYOriginal
2016-06-13 10:19:111028browse

工作中,我们经常要用到正则表达式去匹配到我们想要的数据,甚至还会把匹配到的数据替换成我们需要的数据。这一切,似乎很难做到,但是如果你会熟练使用正则表达式,这些,就不是个菜了。


例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







Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn