配色: 字号:
PHP中一些可以替代正则表达式函数的字符串操作函数
2016-09-30 | 阅:  转:  |  分享 
  
PHP中一些可以替代正则表达式函数的字符串操作函数

0x01:根据预定义的字符对字符串进行词法分析

复制代码代码如下:


/根据预定义的字符对字符串进行词法分析strtok()函数根据预定义的字符列表来解析字符串。其形式为:stringstrtok(stringstr,stringtokens)strtok()函数,必须连续调用这个函数,才能完全的对一个字符串进行词法分析;每次调用该函数只是对字符串的下一部分做词法分析。但是,str参数只需要指定一次,因为函数会跟踪str中的位置,知道完全对str完成了词法分析,或者指定了心得str参数。如下面的例子所示:/$info="lvchenyang|Hello:world&757104454@qq.com";//定义界定符,包括(|)(:)()(&)$tokens="|:&";$tokened=strtok($info,$tokens);while($tokened){echo"Element:$tokened
";//连续调用strtok()函数,完成对整个字符串的词法分析$tokened=strtok($tokens);}?>

0x02:根据预定义的定界符分解字符串

复制代码代码如下:

PHPobject-orientedarchitecture.";echo"
";$words=explode('''',strip_tags($summary));echo"Thissentence''slenghtis:".sizeof($words);/explode()函数始终比preg_split、spilt()和spliti()快得多。因此,在不需要使用正则表达式时,一定要使用这个函数。/?>

0x03:将数组转换成字符串

复制代码代码如下:



0x04:解析复杂的字符串

复制代码代码如下:

";//$substr在log中首次出现的位置是什么$pos=strpos($log,$substr);//查找行结束的数值位置$pos1=strpos($log,"\n",$pos);//计算时间戳的开始$pos=$pos+strlen($substr)+1;//检索时间戳$timestamp=substr($log,$pos,$pos1-$pos);echo"Thefileindex.htmlwasfirstaccessedon:$timestamp
";/函数stripos()和函数strpos()函数用法相同,唯一的区别是stripos()不区分大小写。/?>

0x05:找到字符串最后一次出现的位置

复制代码代码如下:

PHPobject-orientedarchitecture.";if(strlen($summary)>$limit)$summary=substr($summary,0,strrpos(substr($summary,0,$limit),""))."...";echo$summary;?>

0x06:用另外一个字符串替换字符串的所有实例

复制代码代码如下:

".$email;?>

0x07:获取字符串的一部分

复制代码代码如下:

".ltrim(strstr($url,"@"),"@");?>

0x08:根据预定义的便宜返回字符串的一部分

复制代码代码如下:

".substr($str,2,4);//output:chen?>

0x09:确定字符串出现的频率

复制代码代码如下:

";$sentencearray=explode("",$talk);foreach($sentencearrayas$item){echo"Theword$itemappears(".substr_count($talk,$item).")times
";}?>

0x10:用另一个字符串替换一个字符串的一部分

复制代码代码如下:

".substr_replace($phonenum,"",3,4);?>



献花(0)
+1
(本文系白狐一梦首藏)