function startsWith($haystack, $needle) {
// search backwards starting from haystack length characters from the end
return $needle === "" || strrpos($haystack, $needle, -strlen($haystack)) !== FALSE;
}
function endsWith($haystack, $needle) {
// search forward starting from end minus needle length characters
return $needle === "" || (($temp = strlen($haystack) - strlen($needle)) >= 0 && strpos($haystack, $needle, $temp) !== FALSE);
}
startsWith("abcdef", "ab") -> true
startsWith("abcdef", "cd") -> false
startsWith("abcdef", "ef") -> false
startsWith("abcdef", "") -> true
startsWith("", "abcdef") -> false endsWith("abcdef", "ab") -> false
endsWith("abcdef", "cd") -> false
endsWith("abcdef", "ef") -> true
endsWith("abcdef", "") -> true
endsWith("", "abcdef") -> false

Source page: http://stackoverflow.com/a/10473026

最新文章

  1. [转]Unicode utf8等编码类型的原理
  2. PHP开发环境搭建
  3. [Android] Google IAP unmaneged items服务器校验
  4. [PHP] - Laravel 5 的 Hello Wold
  5. [刘阳Java]_斗胆介绍一下Eclipse快捷键大全[超详细]_第6讲
  6. 升级xcode7.0 第三方库不能用的解决方法(bitcode是什么鬼?)
  7. NPOI 添加行
  8. 用PHP语言刷OJ题
  9. Some code changes cannot be hot swapped into a running virtual machine,
  10. EasyUI禁用控制方法常采用
  11. FutureTask解析(转)
  12. python 调用 bash (python 调用linux命令)
  13. LINUX修改IP地址
  14. c# 利用IMap 收取163邮件
  15. Tomcat报内存溢出
  16. <%@ Register TagPrefix="uc1" TagName="user" Src="../Control/user.ascx" %>什么意思?
  17. C# System.IO.FileMode
  18. iOS 出现内存泄漏的几种原因
  19. session_id()和session_regenerate_id()对原来session文件和其中数据是怎么处理的
  20. Python 基于python操纵redis入门介绍

热门文章

  1. Ubuntu 设置su密码
  2. C#学习7.31判断体重是否超标
  3. 基础的 Linux 网络命令,你值得拥有
  4. Thinking in java之正则表达式小例子
  5. TableLayout练习
  6. hihocoder 1138 Islands Travel dijkstra+heap 难度:2
  7. hdu 4616 Game
  8. 【Noip2012】解题报告【字符】【贪心】【高精度】【倍增】【set】
  9. wp8.1 Study11:APP里文件读写和使用XML和Json序列化
  10. tornado介绍