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

时间:2021-10-15 17:26:24

移除 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 (//www.zzvips.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... 

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));