当前位置: 首页 > 编程日记 > 正文

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

移除 HTML 标签

  1. $text = strip_tags($input"");
返回 $start 和 $end 之间的文本
  1. function GetBetween($content,$start,$end){
  2. $r = explode($start$content);
  3. if (isset($r[1])){
  4. $r = explode($end$r[1]);
  5. return $r[0];
  6. }
  7. return '';
  8. }
将url转换成链接
  1. $url = "Jean-Baptiste Jung (http://www.webdevcat.com)";
  2. $url = preg_replace("#http://([A-z0-9./-]+)#"'<a href="http://www.catswhocode.com/blog/$1" >$0</a>'$url);
切分字符串为140个字符
  1. function split_to_chunks($to,$text){
  2. $total_length = (140 - strlen($to));
  3. $text_arr = explode(" ",$text);
  4. $i=0;
  5. $message[0]="";
  6. foreach ($text_arr as $word){
  7. if ( strlen($message[$i] . $word . ' ') <= $total_length ){
  8. if ($text_arr[count($text_arr)-1] == $word){
  9. $message[$i] .= $word;
  10. else {
  11. $message[$i] .= $word . ' ';
  12. }
  13. else {
  14. $i++;
  15. if ($text_arr[count($text_arr)-1] == $word){
  16. $message[$i] = $word;
  17. else {
  18. $message[$i] = $word . ' ';
  19. }
  20. }
  21. }
  22. return $message;
  23. }

删除字符串中的URL

  1. $string = preg_replace('/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i'''$string);

将字符串转成SEO友好的字符串

  1. function slug($str){
  2. $str = strtolower(trim($str));
  3. $str = preg_replace('/[^a-z0-9-]/''-'$str);
  4. $str = preg_replace('/-+/'"-"$str);
  5. return $str;
  6. }

解析 CSV 文件

  1. $fh = fopen("contacts.csv""r");
  2. while($line = fgetcsv($fh, 1000, ",")) {
  3. echo "Contact: {$line[1]}";
  4. }
字符串搜索
  1. function contains($str$content$ignorecase=true){
  2. if ($ignorecase){
  3. $str = strtolower($str);
  4. $content = strtolower($content);
  5. }
  6. return strpos($content,$str) ? true : false;
  7. }
检查字符串是否以某个串开始
  1. function String_Begins_With($needle$haystack {
  2. return (substr($haystack, 0, strlen($needle))==$needle);
  3. }
从字符串中提取email地址
  1. function extract_emails($str){
  2. // This regular expression extracts all emails from a string:
  3. $regexp = '/([a-z0-9_\.\-])+\@(([a-z0-9\-])+\.)+([a-z0-9]{2,4})+/i';
  4. preg_match_all($regexp$str$m);
  5. return isset($m[0]) ? $m[0] : array();
  6. }
  7. $test_string = 'This is a test string...
  8. test1@example.org
  9. Test different formats:
  10. test2@example.org;
  11. <a href="test3@example.org">foobar</a>
  12. <test4@example.org>
  13. strange formats:
  14. test5@example.org
  15. test6[at]example.org
  16. test7@example.net.org.com
  17. test8@ example.org
  18. test9@!foo!.org
  19. foobar
  20. ';
  21. print_r(extract_emails($test_string));
[PHP]代码
  1. function extract_emails($str){
  2. // This regular expression extracts all emails from a string:
  3. $regexp = '/([a-z0-9_\.\-])+\@(([a-z0-9\-])+\.)+([a-z0-9]{2,4})+/i';
  4. preg_match_all($regexp$str$m);
  5. return isset($m[0]) ? $m[0] : array();
  6. }
  7. $test_string = 'This is a test string...
  8. test1@example.org
  9. Test different formats:
  10. test2@example.org;
  11. <a href="test3@example.org">foobar</a>
  12. <test4@example.org>
  13. strange formats:
  14. test5@example.org
  15. test6[at]example.org
  16. test7@example.net.org.com
  17. test8@ example.org
  18. test9@!foo!.org
  19. foobar
  20. ';
  21. print_r(extract_emails($test_string));

转载于:https://www.cnblogs.com/rmbteam/archive/2011/11/06/2238016.html

相关文章:

【maven】初识maven

一&#xff1a;maven的配置&#xff1a; 集成到eclipse步骤&#xff1a; 1、下载maven&#xff0c;放到软件安装目录&#xff0c;打开目录&#xff1a;MAVEN_HOME/conf/ 2、修改文件setting.xml&#xff1a;仓库配置目录&#xff1a;<localRepository>D:\DATA\lo…

[C++再学习系列] 函数模板和类模板

函数模板和类模板 C 提供类模板和函数模板。函数模板允许重载 &#xff0c;而类模板不允许重载(类无重载概念)。类模板可以进行全特化和偏特化&#xff0c;而函数模板仅能够全特化 。因此&#xff0c;写一个看似函数模板偏特化的函数模板实际上是在写一个单独的主函数模板&…

git init 与 git init --bare 区别

git init 与 git init --bare 区别 发现问题 最早是在公司的wiki上发现了这个命令&#xff0c;google后发现值得记录下来 实践中发现的区别 网上找了很多资料&#xff0c;但说的很乱&#xff0c;干脆在自己的服务器上执行对比了一下&#xff1a;git init demo1 # 表示创建一个…

一个虚函数和虚继承的问题。

这个问题困惑好几天了。废话不多说&#xff0c;先上代码。 1 #include <iostream> 2 using namespace std; 3 4 class A 5 { 6 public: 7 virtual void aa() 8 { 9 } 10 private: 11 char k[3]; 12 }; 13 14 class B:publi…

Linux性能分析命令工具汇总

转自&#xff1a;http://rdc.hundsun.com/portal/article/731.html?refmyread出于对Linux操作系统的兴趣&#xff0c;以及对底层知识的强烈欲望&#xff0c;因此整理了这篇文章。本文也可以作为检验基础知识的指标&#xff0c;另外文章涵盖了一个系统的方方面面。如果没有完善…

【jsp】使用get方法传值的格式

get:通过地址提交 格式&#xff1a; http://192.168.7.45:7002/jsp29/doAddStu.jsp?stuNo20181013123&stuName%E5%B0%8F%E5%BC%BA&gender0&age19&major%E7%94%B5%E5%AD%90%E5%B7%A5%E7%A8%8B&score650 即&#xff1a;网址?参数名值&参数名值

指针02 - 零基础入门学习C语言42

第八章&#xff1a;指针02 让编程改变世界 Change the world by program 对“&”和“*”运算符再做些说明 如果已执行了语句 pointer_1 &a; (1) &*pointer_1的含义是什么&#xff1f; “&”和“*”两个运算符的优先级别相同&#xff0c;但按自右而左方向结…

java算法----排序----(6)希尔排序(最小增量排序)

1 package log;2 3 public class Test4 {4 5 /**6 * java算法---希尔排序&#xff08;最小增量排序&#xff09;7 * 8 * param args9 */ 10 public static void main(String[] args) { 11 // 需要排序的数组 12 int arr[] { 49, …

你知道dos和cmd之间的关系以及区别吗?

含义 dos 英文disk operation system&#xff0c;意思是磁盘操作系统是微软系列操作系统之一&#xff0c;dos是一个独立的操作系统&#xff0c;dos对操作人员的要求是比较高的&#xff0c;操作者需要记住很多的命令&#xff0c;并利用命令编写大量的命令行&#xff0c;来完成一…

挨踢项目求生法则-团队建设篇

摘要&#xff1a; 知道什么是挨踢项目吧&#xff1f;什么&#xff01;不知道&#xff1f;那IT项目知道了吧&#xff1f;为了不让客户踢、不让老板踢、项目组成员之间不互相踢&#xff0c;俺为大家分享一些减少被踢机会的心得体会。就算不能让项目成功&#xff0c;也至少不会死得…

【jquery】文档操作

属性 1、attr() 获取、设置属性、设置多个属性 代码实现&#xff1a; alert($("div:first").attr("value")); $("div:first").attr("value","这是第一个div"); $("div:last").attr({value: "这是最后一…

基于流式的md5计算-多线程下载工具Lwget介绍

在数据传输的时候&#xff0c;我们希望实现以下目标&#xff1a;1. 使用多线程传输&#xff0c;加速下载速度2. 数据在传输过程中,进行流式md5计算&#xff0c;避免在传输完毕之后校验大文件3. 支持断点续传4. 支持http协议和ftp协议5. 代码尽可能的简单&#xff0c;利于维护 实…

SpringCloud系列一:SpringCloud的简介和架构

声明&#xff1a;本文来源于MLDN培训视频的课堂笔记&#xff0c;写在这里只是为了方便查阅。 一、SpringCloud简介 SpringCloud就是一套分布式服务治理的框架&#xff0c;既然它是一套服务治理的框架&#xff0c;那么它本身不会提供具体功能性的操作&#xff0c;更专注于服务之…

SUST_ACM_2019届暑期ACM集训热身赛题解

问题A:Hello SUST! 知识点&#xff1a;基本输入输出 C/C&#xff1a; 1 #include <stdio.h>2 3 int main() {4 int n;5 scanf("%d", &n);6 while(n --) {7 printf("Hello SUST!\n");8 }9 return 0; 10 } View Code问…

修改默认的个人站点

1、将模板页加入到里面 在地址C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\MySiteLayouts中找到 LayoutFiles.xml 然后将master复制到这个文件夹下 最后在LayoutFiles.xml加入如下代码&#xff1a; <Module Name"Mast…

【java】暑期需要复习的操作

实现分页查询 将网页输入的数据存入数据库 将每个jsp文件都需要的代码抽离出来 添加jquery 全选操作 引入jstl 实现全选功能

11迭代器模式

图片来自head first 设计模式&#xff0c;仅供学习之用 事实证明光看是没有用的&#xff0c;实践才能出真知&#xff0c;迭代器模式没有我想想的那么简单&#xff0c;写了个小例子才发现自己的理解并不深刻。例子是仿照head first的。迭代器是一个完整的类&#xff0c;作用是遍…

吴裕雄--天生自然 高等数学学习:高阶偏导数

转载于:https://www.cnblogs.com/tszr/p/11165379.html

【数据库】兴唐第二十六节课作业

一、设计购物车表、支付信息表和订单表 思路&#xff1a; 购物车中有&#xff1a; 商品名、价格、生产日期、 保质期&#xff08;shelf life&#xff09;、生产厂家。 支付信息中有&#xff1a; 商品名、 价格、 件数、 总价 订单信息有&#xff1a; 发货时间、订单号、预计到…

递归与非递归转换(栈知识应用)

下面例题是一次作业中遇到的&#xff0c;很值得体味&#xff0c;与大家共享下。 递归代码&#xff1a; 1 long f(long m,long n) 2 { 3 long sum; 4 if(m0) sumn1; 5 else if(n0) sumf(m-1,1); 6 else kf(m-1,f(m,n-1)); 7 return sum; 8 } 用递归来做很明了&a…

Silverlight 游戏开发小技巧:角色升级特效

这次我们将使用Projection完成一些有趣的RPG游戏中常用的特效&#xff1a;升级和传送点特效&#xff0c;我们不需要请特效师制作复杂绚丽的特效&#xff0c;而是只需要他们提供关键的几张图片或者设计样式&#xff0c;如果了您有本领教会他们使用Blend来做特效&#xff0c;那就…

使用jQuery开发messager消息框插件

1、插件使用 首先引入jquery库&#xff0c;然后引入dialog.js、dialog.css、messager.js、messager.css&#xff0c;如下&#xff1a; 1 <script type"text/javascript" src"js/jquery/jquery-1.7.2.min.js"></script> 2 3 <script type&q…

Data - 深入浅出学统计 - 上篇

本文是已读书籍的内容摘要&#xff0c;少部分有轻微改动&#xff0c;但不影响原文表达。 &#xff1a;以漫画形式来讲解最基本的统计概念和方法。 ISBN: 9787121299636https://book.douban.com/subject/26906845/引言&#xff1a;统计无处不在 统计值无处不在。我们伴随着统计值…

android 布局之RelativeLayout(相对布局)

android 布局分为LinearLayout TableLayout RelativeLayout FreamLayout AbsoluteLayout. 常用的有LinearLayout,TableLayout,RelativeLayout &#xff0c;这几个布局不会应该手机屏幕大小而有变化。通常我们使用HVGA 大小的屏幕(320*480). 接下来我们学习RelativeLayout. 原文…

【js】实现分页查询操作的步骤

1、将CSS的代码复制到goodList.jsp 2、引入common 代码实现&#xff1a; <% include file"../common/common.jsp"%> 3、引入jstl 代码实现&#xff1a; <% taglib prefix"c" uri"http://java.sun.com/jsp/jstl/core"%> 注意&…

Orchard:如何生成Hello World模块

在Orchard架构介绍中对Orchard的一些架构内容进行了介绍&#xff0c;下图是Orchard自带的一些模块&#xff0c; 本篇讲解一下如何扩展Orchard来生成我们的第一个模块。 介绍 Orchard构建在ASP.NET MVC之上&#xff0c;MVC是一个应用模式&#xff0c;我在信息系统开发平台OpenE…

通过域名访问自己部署到服务器上的项目

通过域名访问自己部署到服务器上的项目 如何不输入项目名端口号直接访问java web项目 1、省略输入端口号的步骤 在Linux的下面部署了tomcat&#xff0c;为了安全我们使用非root用户进行启动&#xff0c;但是在域名绑定时无法直接访问80端口号。众所周知&#xff0c;在unix下&am…

【java】异常的分类

注&#xff1a; 1、exception是人工可以修复的&#xff0c;但error的话很少出现&#xff0c;如果出现就无能为力了。 2、我们将所有派生于EXCEPTION和ERROR的类的所有异常称为&#xff08;unchecked&#xff09;非受查异常&#xff0c;其余为受查&#xff08;checked&#xf…

【免费软件测试视频-0013】——Loadrunner9.0 SLA Analysis

LR9.0---SLA Analysis http://www.3atesting.com/mv/bencandy.php?fid15&id16转载于:https://www.cnblogs.com/umain/archive/2008/09/28/1301310.html

训练听力的相关方法

一、听写熟悉一些固定发音 二、多阅读相关的文章&#xff0c;文章相关内容越熟悉&#xff0c;听力效果越好【重要】 三、首先没有听懂的一些音不会影响后面的理解 四、解决口音问题的唯一方法是&#xff0c;多阅读、记忆相关内容【签证及联系教授也要注意】转载于:https://www.…