今天测试了一下php的几个字符串处理函数
<?php
$time = microtime(1);
$i =0;
while ($i<1000000){
$s = 'There are <em>97121</em> results for: <em>cancer in Article Titles</em>';
// $pattern = '/<em>(\d.*?)<\/em>/s';
// preg_match($pattern,$s,$match);
// $a= explode('<em>',$s);
// $b= explode('</em>',$a[1]);
// $a = strstr(strstr($s,'<em>'),'</em>',true);
// return $a;
$a= strpos($s,'<em>');
$b= strpos($s,'</em>');
$n= substr($s,$a+4,$b-$a-4);
$i++;
}
// echo $match[1];
echo '</br>';
echo microtime(1)-$time;
通过测试,正则处理起来特别慢,效率只有php内置函数的1/4,所以一些简单的字符串处理,不建议使用正则引擎来处理。