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.jb51.net)"; $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... test1@example.org Test different formats: test2@example.org; <a href="test3@example.org">foobar</a> <test4@example.org> strange formats: test5@example.org test6[at]example.org test7@example.net.org.com test8@ example.org test9@!foo!.org foobar ; print_r(extract_emails($test_string)); |