您的位置:首页 > 编程语言 > PHP开发

PHP 常用字符串处理代码片段

2011-11-06 12:25 363 查看
移除 HTML 标签

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

  返回 $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.webdevcat.com)";

$url = preg_replace("#http://([A-z0-9./-]+)#", '<a href="http://www.catswhocode.com/blog/$1" >$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));

  [PHP]代码

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));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: