php 常用字符串函数总结

  1.格式化输出

  chop 是rtrim()的别名;

  ltrim()

  trim()

  nl2br()将\n转换成<br>

  print,echo,printf(),sprintf():

  echo()不是函数,print()是函数,有返回值,boolen,false,true;

  printf()格式化输出

  --函数,把文字格式化以后输出,直接调用系统调用进行IO的,他是非缓冲的。如:

  $name="hunte";

  $age=25;

  printf("my name is %s, age %d", $name, $age);

  sprintf()格式化字符串,然后赋给一个变量,但是不输出,类似于c了

  <?php

  echo nl2br("foo isn't\n bar");

  echo "foo isn't\n bar";

  ?>

  --跟printf相似,但不打印,而是返回格式化后的文字,其他的与printf一样。如:

  char sql[256];

  sprintf(sql,"select * from table where no = '%s'",bankno);

  它的功能只是把""里面的语句赋给了变量sql。

  strtolower

  strtoupper

  ucwords

  ucfirst

  2.字符串的连接和分割

  (1)array explode(string input ,string separator , int limit)

  使用一个字符串分割另一个字符串

  <?php

  // 示例 1

  $pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";

  $pieces = explode(" ", $pizza);

  echo $pieces[0]; // piece1

  echo $pieces[1]; // piece2

  // 示例 2

  $data = "foo:*:1023:1000::/home/foo:/bin/sh";

  list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);

  echo $user; // foo

  echo $pass; // *

  ?>

  例子 2. limit 参数示例

  <?php

  $str = 'one|two|three|four';

  // 正数的 limit

  print_r(explode('|', $str, 2));

  // 负数的 limit

  print_r(explode('|', $str, -1));

  ?>

  string strtok( string input ,string separator)

  <?php

  $string = "This is\tan example\nstring";

  /* Use tab and newline as tokenizing characters as well          */

  $tok = strtok($string, " \n\t");

  //拿着空格,\n,\t作为令牌分割字符串

  while ($tok !== false) {

  echo "Word=$tok<br />";

  $tok = strtok(" \n\t");

  }

  ?>

  结果:

  Word=This

  Word=is

  Word=an

  Word=example

  Word=string

  (2.)字符串的截取

  $test="Your customer service is excellent";

  echo substr($test,1);////////our customer service is excellent

  echo "<br>";

  echo substr($test,-9);//////从末尾起长度是9excellent

  echo "<br>";

  echo substr($test,0,4);////从0位置开始长度是4Your

  echo "<br>";

  echo substr($test,5,-13);/从第四个开始到倒数第13个字符customer service

  echo "<br>";

  $test="Your customer service is excellent";

  echo substr($test,1);

  echo "<br>";

  echo substr($test,-11);

  echo "<br>";

  echo substr($test,0,6);

  echo "<br>";

  echo substr($test,5,-13);

  echo "<br>";

  our customer service is excellent

  s excellent

  Your c

  customer service

  (3)join()字符串的链接

  3.字符串的查找

  (1)string strstr ( string haystack, string needle ) 别名:strchr,stristr和strstr类似不同在于不区分大小写

  strrchr()相反的,查找的是最后一次出现的字符串

  第一次出现起的字符串

  <?php

  $email = '[email protected]';

  $domain = strstr($email, '@');

  echo $domain; // prints @example.com

  ?>

  $email = '[email protected]';

  $domain =strstr($email,'e');

  $domain2 =strrchr($email,'e');//最后一次出现起的字符串

  echo $domain;

  echo "<br>";

  echo $domain2;

  [email protected]

  e.com

  (2)查找位置

  int strpos(string str,string needle,[int offset]) 没有找到返回的是false

  返回从offset开始在str中查找needle的位置

  $eg:$t-'hello world';

  echo strpos($t,'o',5);

  //7 从第o开始,查找o这个变量的位置,结果为7

  int strrpos()

  5.替换

  str_replace("%body%","blank","<body text='%body%'")

  6 。大写小问题

  Strpos

  查找字符串中第一次出现的字符串的位置

  Strrpos

  查找字符串中某字符,继第一次之后的最先出现的位置。

  strpos(stripos无大小写)

  strrpos(strripos无大小写)

  strstr

  stristr(无大小写)

  str_replace

  str_ireplace(无大小写)