PHP中一些可以替代正则表达式函数的字符串操作(2)


<?php
/*
 * 找到字符串中最后一次出现的位置
 * strrpos()函数搜索字符串的最后出现的位置,返回它的位置(数值序号)其形式为:
 * int strrpos(string str,char substr [,offset])
 * 可选参数offset确定strrpos()函数的开始搜索位置。加入希望缩短冗长的新闻总结,
 * 截取总结中的某些部分,并用省略号代替所截去的部分。然而,并非简单的将总结明确的剪为所需的长度,
 * 你可能希望以一种对用户友好的方式进行剪切,截取到与阶段长度最接近的单词末尾。
 * 如下例子所示
 */
$limit=100;
$summary="In the latest installment of the ongoing Developer.com PHP series.
   I discuss the many improvements and addtions to
   <a href=https://www.jb51.net/article/\"http:\">PHP</a> object-oriented architecture. ";
if(strlen($summary)>$limit)
 $summary=substr($summary, 0,strrpos(substr($summary, 0,$limit)," "))."...";
echo  $summary;
?>

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

复制代码 代码如下:


<?php
/*
 * 用另外一个字符串替换字符串的所有实例
 * str_replace()函数以区分大小写的方式用另外一个字符串奇幻某个字符串的所有实例。其形式为:
 * mixed str_replace(string occurrence, mixed replacement, mixed str [,int count])
 * 如果str中没有找到occurrence,则str保持不变,如果定义了可选参数count,则只替换str中count个currence。
 * 此函数很适合对自动获取电子邮箱地址的程序隐藏电子右键地址,如下所示:
 */
$email="lvchenyang@live.cn";
$email=str_replace("@", "(at)", $email);
echo "<br/>".$email;
?>

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

复制代码 代码如下:


<?php
/*
 * 获取字符串的一部分
 * strstr()函数返回字符串中从预定义的字符串的第一个出现开始的剩余部分(包括occurrence这个字符串)。其形式为:
 * string strstr(string str,string occurrence[,bool fefore_needle])
 * 可选参数before_needle会改变strstr()的行为,使函数返回字符串在第一个出先之前的部分。
 * 下面的例子是获取右键中的域名,结合ltrim()函数
 */
$url="lvchenyang@live.cn";
echo "<br/>".ltrim(strstr($url, "@"),"@");
?>

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

复制代码 代码如下:


<?php
/*
 * substr()函数返回字符串中位于start和start+length之间的部分,其形式为:
 * string substr(string str,int start [,int length])
 * 如果没有指定的可选参数,则返回从start到str末尾的字符串
 * 如下所示
 */
$str="lvchenyang";
echo "<br/>".substr($str, 2,4);
//output: chen
?>

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

复制代码 代码如下:


<?php
/*
 * 确定字符串出现的频率
 * substr_count()返回一个字符串在另外一个字符串中出现的次数。其形式为:
 * int substr_count(string str,string substring [,int offset [,int length]])
 * 可选参数offset和length指定字符串便宜(从便宜处开始尝试匹配字符串)和字符串长度(从便宜开始搜索的长度)
 * 下面的例子确定了每个单词在这个sentence中出现的次数
 */
$talk=<<<talk
I am acertain that we could dominate mindshare in this space with
our new product, extablishing a true synergy beteen the marketing
and product development teams. We'll own this space in thress months.
talk;
echo "<br/>";
$sentencearray=explode(" ", $talk);
foreach ($sentencearray as $item)
{
 echo "The word <strong>$item</strong> appears(".substr_count($talk, $item).")times<br/>";
}
?>

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

复制代码 代码如下:


<?php
/*
 * 用另外一个字符串替换一个字符串的一部分
 * substr_replace()函数将字符串中的一部分用另一个字符串替换,替换从指定的start位置开始,知道start+length位置结束。
 * 其形式为:
 * stringsubstr_replace(string str,string repalcement,int start和length的值。
 * 如下所示,替换电话号码中间4位
 */
$phonenum="15926841384";
echo "<br/>".substr_replace($phonenum, "****", 3,4);
?>

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/726fd02db5f0becba3073cba909b0ef2.html