PHP中一些可以替代正则表达式函数的字符串操作函数
0x01:根据预定义的字符对字符串进行词法分析 代码如下: /*
* 根据预定义的字符对字符串进行词法分析
* strtok()函数根据预定义的字符列表来解析字符串。其形式为:
* string strtok(string str,string tokens)
* strtok()函数,必须连续调用这个函数,才能完全的对一个字符串进行词法分析;每次调用该函数只是对字符串的下一部分做词法分析。但是,str参数只需要指定一次,因为函数会跟踪str中的位置,知道完全对str完成了词法分析,或者指定了心得str参数。
* 如下面的例子所示:
*/
$info="lv chen yang|Hello:world&757104454@qq.com";
//定义界定符,包括(|)(:)( )(&)
$tokens="|:& ";
$tokened=strtok($info,$tokens);
while ($tokened)
{
echo "Element:$tokened 0x02:根据预定义的定界符分解字符串 代码如下: ";
$words=explode(' ',strip_tags($summary));
echo "This sentence's lenght is:".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 "The file index.html was first accessed on: $timestamp"; /* * 函数stripos()和函数strpos()函数用法相同,唯一的区别是stripos()不区分大小写。 */ ?> 0x05:找到字符串最后一次出现的位置 代码如下: $limit)
$summary=substr($summary,strrpos(substr($summary,$limit)," "))."...";
echo $summary;
?>
0x06:用另外一个字符串替换字符串的所有实例 代码如下: ".$email;
?>
0x07:获取字符串的一部分 代码如下: ".ltrim(strstr($url,"@"),"@");
?>
0x08:根据预定义的便宜返回字符串的一部分 代码如下: ".substr($str,2,4);
//output: chen
?>
0x09:确定字符串出现的频率 代码如下: ";
$sentencearray=explode(" ",$talk);
foreach ($sentencearray as $item)
{
echo "The word $itemappears(".substr_count($talk,$item).")times"; } ?> 0x10:用另一个字符串替换一个字符串的一部分 代码如下: ".substr_replace($phonenum,"****",3,4);
?>
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |