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

yipeiwu_com6年前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 (//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));

相关文章

php中静态类与静态变量用法的区别分析

本文实例分析了php中静态类与静态变量用法的区别。分享给大家供大家参考。具体分析如下: static是定义一个静态对象或静态变量,关于static 定义的变量或类方法有什么特性我们看完本...

php四种定界符详解

闲来无事,研究了与java、c#完全不同的领域php,php即(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”),对于学习php的初学者,不得...

php微信支付接口开发程序

php微信支付接口开发程序讲解: 必要条件: appid //公众号后台开发者中心获得(和邮件内的一样)   mchid//邮件内获得  key//商户后台...

详解PHP实现执行定时任务

PHP在这方面应该说是比较弱,如果只用php去实现可以如下: <?php ignore_user_abort();//关闭浏览器后,继续执行php代码 set_ti...

PHP文件上传处理案例分析

PHP文件上传处理案例分析

本文实例讲述了PHP文件上传处理的方法。分享给大家供大家参考,具体如下: 最近遇到一个事,把自己坑了好久,我想说说我开始的想法 PHP的上传机制封装的很完全,基本几行代码就能实现,他的实...