/*常用的字符串输出函数
  *
  * echo()   输出字符串
  * print()  输出一个或多个字符串
  * die()  输出一条信息,并退出当前脚本
  * printf()  输出格式化字符串
  * sprintf()  把格式化的字符串写入到一个变量中
  *
  */
 
 #ucfirst 
 #将字符串中的首字母转换为大写
 $str="string";
 echo ucfirst($str);
 echo "<hr><br/>";

#ucwords()
 #将字符串中的每个单词的首字母大写

$ucword="hello everyone!";
 echo ucwords($ucword);
 echo "<hr><br/>";

#ltrim() rtrim() trim()
 #去除空格
 $str="123 This is a test.....";
        echo ltrim($str,"0..9")."<br/>";      #去除左侧的数字 
 echo rtrim($str,".")."<br/>";
 echo trim($str,"0..9A..Z.")."<br/>";     #去除字符串两端的大写字母,数字还有.

#HTML相关的字符串格式化函数
 #nl2br()
 #将字符串中的\n转换为"<br/>"
 $str="this is \n  hello world";
 echo nl2br($str).'<br/>';

#htmlspecialchars()
 #将html标记以字符的形式显示,不进行解释
 $str="<b>hello world</b>";
 echo $str."<br/>";
 echo htmlspecialchars($str);
 echo "<hr><br/>";

#addcslashes
 #添加反斜线
 $str=addcslashes("foo[]","A..z");
 echo $str."<br/>";
 echo addcslashes("zoo['.']",'A..z')."<br/>";

#convert_uuencode()
 #利用uudecode的方法对字符串进行编码
 $string="hello world";
 $str= convert_uuencode($string);
 echo $str."<br/>";
 echo convert_uudecode($str)."<br/>";

#html_entity_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' ]] )
 #与htmlentities方法相反,将进行编码后的html字符转换为浏览器能够编译的形式

$a="I want a bright <b>future</b>";
 $b= htmlentities($a)."<br/>";
 echo $b;
 echo html_entity_decode($b);
 echo "<hr><br/>";
 #htmlspecialchars_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 ] )
 #与htmlspecialchars函数相反,将HTML实体转换为字符
 $c=htmlspecialchars($a);
 echo $c."<br/>";
 echo htmlspecialchars_decode($c)."<br/>";
 echo "<hr><br/>";

#lcfirst ( string $str )
 #将字符串的首字符小写
 $str="Hello World";
# echo lcfirst($str)."<br/>";

#md5_file ( string $filename [, bool $raw_output = false ] )
 #对文件进行md5加密
 #

$string="password";
 $str=md5($string);
 if($str=="5f4dcc3b5aa765d61d8327deb882cf99"){
  echo "The password is right <br/>";
 }

#parse_str ( string $str [, array &$arr ] )
 #将一个字符串进行解析,解析成变量和数组的形式

$str = "first=value&arr[]=foo+bar&arr[]=baz";
 parse_str($str,$input);
 print_r($input);
 echo "<hr><br/>";

#string sha1_file ( string $filename [, bool $raw_output = false ] )
 #计算文件的散列值

foreach(glob("C:/lamp/appache2/htdocs/*.php") as $ent){
  if(is_dir($ent)){
   continue;
  }
  echo $ent."(SHA1:".sha1_file($ent).")<br/>";
 }
 echo "<hr><br/>";

#int similar_text ( string $first , string $second [, float &$percent ] )
 #计算两个字符串的相似度,通过引用方式传递第三个参数,similar_text() 将
 #计算相似程度百分数。

$string1="rogerzhalili";
 $string2="zhangjieroger";
 if(similar_text($string1,$string2,$percent)){
  echo $string1." and ".$string2." has the similarity of:".$percent."<br/>";
 }
 echo "<hr><br/>";

#string str_shuffle ( string $str )
 #打乱一个字符串
 $string="I want you to solve this problem";
 echo str_shuffle($string)."<br/>";

#array str_split ( string $string [, int $split_length = 1 ] )
 #按照指定的长度对字符串进行分割
 $arr=str_split($string,3);

#str_word_count ( string $string [, int $format = 0 [, string $charlist ]] )
 #统计字符串中单词的数量
 echo "<hr><br/>";

#int strripos ( string $haystack , string $needle [, int $offset = 0 ] )
 #以不区分大小写的方式查找指定字符串在目标字符串中最后一次出现的位
 #置。与 strrpos() 不同,strripos() 不区分大小写。
 #offset用于指定从那个位置开始查找

$haystack='ababcd';
 $needle='Ab';
 echo "the last".$needle."postion is:".strripos($haystack,$needle)."<br/>";
 echo strrpos($haystack,'ab');
 echo "<hr><br/>";
 
 #string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
 #返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结
 #尾的字符串。 该函数区分大小写。如果想要不区分大小写,请使用
 #stristr()。

$a="the First test";
 $needle="Fi";
 echo strstr($a,$needle)."<br/>";
 if($c=strstr($a,"Fio")){
  echo "find".$c."<br/>";
 }
 else
 {
  echo "not find the string!<br/>";
 }
 echo "<hr><br/>";

#int substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] )
 #查找$needle子字符串在$haystack中出现的次数,$needle区分大小写

$hay="la la wa la wa wa lala";
 echo substr_count($hay,"la")."<br>";

#int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
 #正则匹配,将匹配后的结果存放到$matches(如果指定了$matches的话)

preg_match_all("/\(?  (\d{3})?  \)?  (?(1)  [\-\s] ) \d{3}-\d{4}/x",
  "Call 555-1212 or 1-800-555-1212", $phones);
 echo "<pre>";
 print_r($phones);
 echo "</pre>";
 echo "<hr><br/>";
 #preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
 #搜索subject中匹配pattern的部分, 以replacement进行替换.

$string = 'April 15, 2003';
 $pattern = '/(\w+) (\d+), (\d+)/i';
 $replacement = '${1}1,$3';
 echo preg_replace($pattern,$replacement,$string);
 echo "<hr><br/>";

#array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )
 #通过一个正则表达式分隔给定字符串.

$str = 'string';
 $chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
 print_r($chars);

PHP中用到的一些字符串函数的更多相关文章

  1. Mysql 字符串函数 详解

    字符串函数是最常用的一种函数了,如果大家编写过程序的话,不妨回过头去看看自己使用过的函数,可能会惊讶地发现字符串处理的相关函数占已使用过的函数很大一部分.MySQL中字符串函数也是最丰富的一类函数,表 ...

  2. awk 字符串函数

    awk 提供了许多强大的字符串函数,见下表: awk 内置字符串函数 gsub(r,s) 在整个 $0 中用 s 替代 r gsub(r,s,t) 在整个 t 中用 s 替代 r index(s,t) ...

  3. js进阶js中支持正则的四个常用字符串函数(search march replace split)

    js进阶js中支持正则的四个常用字符串函数(search march replace split) 一.总结 代码中详细四个函数的用法 search march replace split 二.js进 ...

  4. NeuCF源码中用到的模块(函数)

    论文:<Neural Collaborative Filtering>源码中用到的模块(函数) from keras.layers import Embedding, Input, Den ...

  5. ThinkPHP 模板substr的截取字符串函数

    ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...

  6. SQL字符串函数

    LEN() :计算字符串长度(字符的个数.)datalength();//计算字符串所占用的字节数,不属于字符串函数.测试varchar变量与nvarchar变量存储字符串a的区别.见备注1.LOWE ...

  7. Python3中的字符串函数学习总结

    这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...

  8. TSQL 字符串函数:截断和查找

    字符串截断函数是指:Stuff 和 SubString,字符串查找函数是:CharIndex 和 PatIndex 一,SubString 截取子串 最常用的字符串函数,用于截取特定长度的子串. SU ...

  9. c#编程基础之字符串函数

    c#常用的字符串函数 例一: 获取字符串的大小写函数 ToLower():得到字符串的小写形式 ToUpper():得到字符串的大写形式 注意: 字符串时不可变的,所以这些函数都不会直接改变字符串的内 ...

随机推荐

  1. USACO Section 4.2 Drainage Ditches(最大流)

    最大流问题.ISAP算法.注意可能会有重边,不过我用的数据结构支持重边.距离d我直接初始化为0,也可以用BFS逆向找一次. -------------------------------------- ...

  2. 对Java的Map的Value字段进行排序

    构造TreeMap可以指定Comparator,但是不能对value字段进行排序.如果有需求对Value字段排序,例如map存放的是单词,单词出现次数,怎么按单词次数排序呢? 可以先将map中的key ...

  3. 百度editor调用【图片上传阿里云】

    百度editor调用简单,但是图片和文件上传阿里云就有点难度了.下面我详细说一下. 百度富文本编辑器下载地址:http://ueditor.baidu.com/website/download.htm ...

  4. 解决全站ie6下PNG图片不透明问题只要几行代码

    解决全站ie6下PNG图片不透明问题只要复制下面这几行代码粘贴在你的文档最底部,需要用到的包DD_belatedPNG_0.0.8a.js自己网上下载吧 代码走起 /*在文档底部加入以下代码*/ &l ...

  5. bzoj 3289: Mato的文件管理 莫队+线段树

    题目链接 给一些询问,每个询问给出区间[L, R] , 求这段区间的逆序数. 先分块排序, 然后对于每次更改, 如果是更改L, 那么应该查询区间内比他小的数的个数, 如果更改R, 查区间内比他大的数的 ...

  6. php框架

    使用composer构建的php框架 github: https://github.com/Ev2le0/LeoFramework 实现功能: 1)路由 2)ORM 3)视图

  7. WebWorker SharedWorker ServiceWorker

    WebWorker 是什么? 为 JavaScript 引入线程技术 不必再用 setTimeout().setInterval().XMLHttpRequest 来模拟并行 Worker 利用类似线 ...

  8. QT 一些非常常用的操作

    一   如果在窗体关闭前自行判断是否可关闭二   如何用打开和保存文件对话框  三   如何使用警告.信息等对话框  四   在Windows下Qt里为什么没有终端输出五   想在源代码中直接使用中文 ...

  9. request.getParameterValues与request.getParameter的差别

    一. 简单的对照 request.getParameter用的比較多,相对熟悉 request.getParameterValues(String   name)是获得如checkbox类(名字同样, ...

  10. BootStrap 智能表单系列 三 分块表单配置的介绍

    相信广大博友肯定碰到过一个编辑页面分了很多块的情况,智能表单插件已经为您支持了这种情况, 代码如下(链接地址:https://github.com/xiexingen/Bootstrap-SmartF ...