php中常用字符串处理代码片段整理

  移除 HTML 标签

  

复制代码 代码如下:

  $text = strip_tags($input, "");

  上面的函数主要是使用了strip_tags,具体的使用说明参考。

  返回 $start 和 $end 之间的文本

  

复制代码 代码如下:

  function GetBetween($content,$start,$end){

  $r = explode($start, $content);

  if (isset($r[1])){

  $r = explode($end, $r[1]);

  return $r[0];

  }

  return '';

  }

  将url转换成链接

  

复制代码 代码如下:

  $url = "Jean-Baptiste Jung (http://www.glzy8.com)";

  $url = preg_replace("#http://([A-z0-9./-]+)#", '<a href="http://www.catswhocode.com/blog/$1" style="font-size: 12px; vertical-align: baseline; background-color: transparent; margin: 0px; padding: 0px; color: #3777af; text-decoration: none; font-weight: bold">$0</a>', $url);

  切分字符串为140个字符

  

复制代码 代码如下:

  function split_to_chunks($to,$text){

  $total_length = (140 - strlen($to));

  $text_arr = explode(" ",$text);

  $i=0;

  $message[0]="";

  foreach ($text_arr as $word){

  if ( strlen($message[$i] . $word . ' ') <= $total_length ){

  if ($text_arr[count($text_arr)-1] == $word){

  $message[$i] .= $word;

  } else {

  $message[$i] .= $word . ' ';

  }

  } else {

  $i++;

  if ($text_arr[count($text_arr)-1] == $word){

  $message[$i] = $word;

  } else {

  $message[$i] = $word . ' ';

  }

  }

  }

  return $message;

  }

  删除字符串中的URL

  

复制代码 代码如下:

  $string = preg_replace('/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i', '', $string);

  将字符串转成SEO友好的字符串

  

复制代码 代码如下:

  function slug($str){

  $str = strtolower(trim($str));

  $str = preg_replace('/[^a-z0-9-]/', '-', $str);

  $str = preg_replace('/-+/', "-", $str);

  return $str;

  }

  解析 CSV 文件

  

复制代码 代码如下:

  $fh = fopen("contacts.csv", "r");

  while($line = fgetcsv($fh, 1000, ",")) {

  echo "Contact: {$line[1]}";

  }

  字符串搜索

  

复制代码 代码如下:

  function contains($str, $content, $ignorecase=true){

  if ($ignorecase){

  $str = strtolower($str);

  $content = strtolower($content);

  }

  return strpos($content,$str) ? true : false;

  }

  检查字符串是否以某个串开始

  

复制代码 代码如下:

  function String_Begins_With($needle, $haystack {

  return (substr($haystack, 0, strlen($needle))==$needle);

  }

  从字符串中提取email地址

  

复制代码 代码如下:

  function extract_emails($str){

  // This regular expression extracts all emails from a string:

  $regexp = '/([a-z0-9_\.\-])+\@(([a-z0-9\-])+\.)+([a-z0-9]{2,4})+/i';

  preg_match_all($regexp, $str, $m);

  return isset($m[0]) ? $m[0] : array();

  }

  $test_string = 'This is a test string...

  [email protected]

  Test different formats:

  [email protected];

  <a href="[email protected]">foobar</a>

  <[email protected]>

  strange formats:

  [email protected]

  test6[at]example.org

  [email protected]

  test8@ example.org

  test9@!foo!.org

  foobar

  ';

  print_r(extract_emails($test_string));