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协程知识点

多任务 (并行和并发) 在讲协程之前,先谈谈多进程、多线程、并行和并发。 对于单核处理器,多进程实现多任务的原理是让操作系统给一个任务每次分配一定的 CPU 时间片,然后中断、让下一个...

解析php中如何调用用户自定义函数

先放上来别人的例子吧:call_user_func函数类似于一种特别的调用函数的方法,使用方法如下:    复制代码 代码如下:function a($b,...

JS 网站性能优化笔记

1. 除去JavaScript注释 除了注释,其他所有的 // or /* */ 注释都可以安全删除,因为它们对于最终使用者来说没有任何意义。 2. 除去JavaScript中的空白区域...

PHP实现批量修改文件名的方法示例

本文实例讲述了PHP实现批量修改文件名的方法。分享给大家供大家参考,具体如下: 需求描述: 某个文件夹下有100个文件,现在需要将这个100个文件的文件名后添加字符串Abc(后缀名保持不...

PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍

PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍

所有这些命令都衍生一个子进程,用于运行您指定的命令或脚本,并且每个子进程会在命令输出写到标准输出 (stdout) 时捕捉它们。 shell_exec() shell_exec() 命令...