php正则表达式进一步详解
时间:2010-09-15 来源:flandycheng
PHP正则表达式替换实现是如何的呢?首先向你介绍下PHP preg_replace,PHP preg_replace的使用是我们实现的方法,那么对于PHP正则表达式替换实现过程我们从实例入手。
PHP正则表达式替换的相关概念:
preg_replace:执行正则表达式的搜索和替换
- mixed preg_replace (
- mixed pattern,
- mixed replacement,
- mixed subject [, int limit])
- preg_replace('[(/*)+.+(*/)]', '', $val);
- <?php
- $string = "April 15, 2003";
- $pattern = "/(/w+) (/d+), (/d+)/i";
- $replacement = "/${1}1,/$3";
- print preg_replace($pattern, $replacement, $string);
- /* Output
- ======
- April1,2003
- */
- ?>
- <?php
- $string =
- "The quick brown fox jumped over the lazy dog.";
- $patterns[0] = "/quick/";
- $patterns[1] = "/brown/";
- $patterns[2] = "/fox/";
- $replacements[2] = "bear";
- $replacements[1] = "black";
- $replacements[0] = "slow";
- print preg_replace($patterns, $replacements, $string);
- /* Output
- ======
- The bear black slow jumped over the lazy dog.
- */
- /* By ksorting patterns and replacements,
- we should get what we wanted. */
- ksort($patterns);
- ksort($replacements);
- print preg_replace($patterns, $replacements, $string);
- /* Output
- ======
- The slow black bear jumped over the lazy dog.
- */
- ?>
- <?php
- $patterns = array
- ("/(19|20)(/d{2})-(/d{1,2})-(/d{1,2})/",
- "/^/s*{(/w+)}/s*=/");
- $replace = array
- ("//3///4///1//2", "$//1 =");
- print preg_replace
- ($patterns, $replace, "{startDate} = 1999-5-27");
- ?>
- <?php
- preg_replace
- ("/(<//?)(/w+)([^>]*>)/e",
- "'//1'.strtoupper('//2').'//3'",
- $html_body);
- ?>
- <?php
- echo "Preg_replace used time:";
- $start = time();
- for($i=1;$i<=100000;$i++) {
- $str = "ssssssssssssssssssssssssssss";
- preg_replace("/s/","",$str);
- }
- $ended = time()-$start;
- echo $ended;
- echo "
- ereg_replace used time:";
- $start = time();
- for($i=1;$i<=100000;$i++) {
- $str = "ssssssssssssssssssssssssssss";
- ereg_replace("s","",$str);
- }
- $ended = time()-$start;
- echo $ended;
- echo "
- str_replace used time:";
- $start = time();
- for($i=1;$i<=100000;$i++) {
- $str = "sssssssssssssssssssssssssssss";
- str_replace("s","",$str);
- }
- $ended = time()-$start;
- echo $ended;
- ?>
- Preg_replace used time:5
- ereg_replace used time:15
- str_replace used time:2
相关阅读 更多 +