search
HomeBackend DevelopmentPHP TutorialMy commonly used common function library

There are commonly used PHP function libraries such as zero padding, Chinese interception, halt, html jump, js jump, filtering html, checking the email is legal, converting hyperlinks in text into clickable connections, returning time format, etc.

  1. //Because it is used in both front and backend, it is placed in the supermario folder for easy reuse
  2. /**
  3. * Oh~ Cute decimal point~ Oh~ Cute thousand digit~
  4. * If there are more than 4 digits, add the third digit before it,
  5. * @param int $gold
  6. * @return string
  7. */
  8. function showGold($gold) {
  9. return number_format( $gold);
  10. }
  11. /**
  12. * Page compression output
  13. */
  14. function ob_callback($buffer) {
  15. header('Etag: '.md5($buffer));
  16. if( extension_loaded('zlib') AND strstr ($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip") ) {
  17. $buffer = gzencode($buffer,9);
  18. header('Content-Encoding: gzip');
  19. header('Vary: Accept-Encoding') ;
  20. //header('Via: www.guangxitravel.cn');
  21. header('Content-Length: '.strlen($buffer));
  22. }
  23. return $buffer;
  24. }
  25. /**
  26. * Jump to the page without prompt
  27. * @param string $url
  28. * @param string $target
  29. */
  30. function go($url='', $target='parent') {
  31. if ($url != "") {
  32. echo('');
  33. } else {
  34. echo('' );
  35. }
  36. }
  37. /**
  38. * Clear cache, ECHO, then DIE (hateful javascript+php... plain text output, there will always be some null characters...)
  39. * @param string $msg
  40. */
  41. function justSay($msg) {
  42. ob_clean();
  43. die($msg);
  44. }
  45. /**
  46. * 将符合第二个参数的第一个参数里的内容替换为红色
  47. * @param string $data
  48. * @param array $keyword
  49. * @return string
  50. */
  51. function change_keyword($data, $keywords) {
  52. if (is_array($keywords)) {
  53. foreach ($keywords as $k => $v) {
  54. $data = str_replace($v, '' . $v . '', $data);
  55. }
  56. return $data;
  57. } else {
  58. return str_replace($keywords, '' . $keywords . '', $data);
  59. }
  60. }
  61. /**
  62. * 创建完全随机的颜色
  63. * @return string
  64. */
  65. function makeColor() {
  66. $key = '#';
  67. for ($i = 0; $i $key.= rand(0, 9);//生成php随机数
  68. return $key;
  69. }
  70. /**
  71. * 自动加载模型和第三方功能类
  72. * @param string $className
  73. */
  74. function autoLoad($className) {
  75. if (strstr($_SERVER['REQUEST_URI'], "/operator/") == false) { //服务器不支持SCRIPT_URL
  76. if (file_exists(siteRoot . '/client/model/' . $className . '.php')) {
  77. require_once siteRoot . '/client/model/' . $className . '.php';
  78. return;
  79. }
  80. } else {
  81. if (file_exists(siteRoot . '/manager/model/' . $className . '.php')) {
  82. require_once siteRoot . '/manager/model/' . $className . '.php';
  83. return;
  84. }
  85. }
  86. if (file_exists(siteRoot . '/public/modules/' . $className . '.php')) {
  87. require_once siteRoot . '/public/modules/' . $className . '.php';
  88. return;
  89. }
  90. if (file_exists(siteRoot . '/client/order/model/' . $className . '.php')) {
  91. require_once siteRoot . '/client/order/model/' . $className . '.php';
  92. return;
  93. }
  94. }
  95. /**
  96. * 用javascript弹出一条信息
  97. * @param $message
  98. */
  99. function message($message='') {
  100. echo('');
  101. }
  102. /**
  103. * 模拟strstr()的第三个参数,返回$h中,$n之前的数据
  104. * //$h = haystack, $n = needle
  105. * @param $h
  106. * @param $n
  107. * @return
  108. */
  109. function strstrb($h, $n) {
  110. return array_shift(explode($n, $h, 2));
  111. }
  112. /**
  113. * 显示错误信息,并跳转至$pageurl,含有样式
  114. *
  115. * @param string $messages
  116. * @param string $pageurl
  117. * @param int $msc 秒数
  118. */
  119. function msg($messages, $pageurl='javascript:history.back();', $msc=5) {
  120. echo 'System Message
  121. Web System Message

  • ', $messages, '
  • >>>请点此处返回

  • ';
  • exit();
  • }
  • /**
  • * 检查后面的日期是否大于前面的日期
  • * @param type $datecome 前面的日期
  • * @param type $datego 后面的日期
  • * @return type
  • */
  • function sub_date($datecome, $datego) {
  • $d1 = strtotime($datecome);
  • $d2 = strtotime($datego);
  • $days = round(($d2 - $d1) / 3600 / 24);
  • $days = $days return $days;
  • }
  • /**
  • * 将$string的$length后边的内容用$dot替换
  • * @param string $string
  • * @param int $length
  • * @param string $dot
  • * @return string
  • */
  • function cutstr($string, $length, $dot = '...') {
  • @extract($string);
  • if (strlen($string) return $string;
  • }
  • $string = htmlspecialchars($string);
  • $string = str_replace(array('&', '"', '<', '>'), array('&', '"', ''), $string);
  • $strcut = '';
  • $n = $tn = $noc = 0;
  • while ($n $t = ord($string[$n]);
  • if ($t == 9 || $t == 10 || (32 $tn = 1;
  • $n++;
  • $noc++;
  • } elseif (194 $tn = 2;
  • $n += 2;
  • $noc += 2;
  • } elseif (224 $tn = 3;
  • $n += 3;
  • $noc += 2;
  • } elseif (240 $tn = 4;
  • $n += 4;
  • $noc += 2;
  • } elseif (248 $tn = 5;
  • $n += 5;
  • $noc += 2;
  • } elseif ($t == 252 || $t == 253) {
  • $tn = 6;
  • $n += 6;
  • $noc += 2;
  • } else {
  • $n++;
  • }
  • if ($noc >= $length) {
  • break;
  • }
  • }
  • if ($noc > $length) {
  • $n -= $tn;
  • }
  • $strcut = substr($string, 0, $n);
  • $strcut = str_replace(array('&', '"', ''), array('&', '"', '<', '>'), $strcut);
  • return $strcut . $dot;
  • }
  • /**
  • +----------------------------------------------------------
  • * 如果 magic_quotes_gpc 为开启状态,则使用此方法使用为特殊符号前增加转移符号
  • +----------------------------------------------------------
  • * @access public
  • +----------------------------------------------------------
  • * @param string $value 可以为数组
  • +----------------------------------------------------------
  • * @return string
  • +----------------------------------------------------------
  • */
  • function kaddslashes($value) {
  • return $value = is_array($value) ? array_map('kaddslashes', $value) : addslashes($value);
  • }
  • /**
  • +----------------------------------------------------------
  • * 为特殊符号前去除转移符号
  • +----------------------------------------------------------
  • * @access public
  • +----------------------------------------------------------
  • * @param string $value 可以为数组
  • +----------------------------------------------------------
  • * @return string
  • +----------------------------------------------------------
  • */
  • function kstripcslashes($value) {
  • return $value = is_array($value) ? array_map('kstripcslashes', $value) : stripcslashes($value);
  • }
  • /**
  • * 将字符串内容html实体化,避免一些非法信息直接执行。如果参数是数组,则递归。
  • * @param string $value
  • * @return array
  • */
  • function khtmlspecialchars($value) {
  • return is_array($value) ? array_map('khtmlspecialchars', $value) :
  • preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/', '&\\1', str_replace(array('&', '"', ''), array('&', '"', '<', '>'), $value));
  • }
  • /**
  • * 将字符串中的html去除,如果参数是数组,则递归。
  • * @param string $value
  • * @return array
  • */
  • function striptags($value) {
  • return $value = is_array($value) ? array_map('striptags', $value) : strip_tags($value);
  • }
  • /**
  • * Check the validity of email
  • *
  • * @param string $email
  • * @return bool
  • */
  • function check_email($email) {
  • if (preg_match("/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?/i", $email)) {
  • return true;
  • } else {
  • return false;
  • }
  • }
  • /**
  • * Secure email address
  • *
  • * @param string $email
  • * @param string $title
  • * @param $attributes
  • * @return
  • */
  • function safe_mailto($email, $title = '', $attributes = '') {
  • if (is_array($email)) {
  • $tmp = $email;
  • unset($email);
  • extract($tmp);
  • }
  • $title = (string) $title;
  • if ($title == "") {
  • $title = $email;
  • }
  • for ($i = 0; $i $x[] = substr(' }
  • $x[] = '"';
  • if ($attributes != '') {
  • if (is_array($attributes)) {
  • foreach ($attributes as $key => $val) {
  • $x[] = ' ' . $key . '="';
  • for ($i = 0; $i $x[] = "|" . ord(substr($val, $i, 1));
  • }
  • $x[] = '"';
  • }
  • } else {
  • for ($i = 0; $i $x[] = substr($attributes, $i, 1);
  • }
  • }
  • }
  • $x[] = '>';
  • $temp = array();
  • for ($i = 0; $i $ordinal = ord($title[$i]);
  • if ($ordinal $x[] = "|" . $ordinal;
  • } else {
  • if (count($temp) == 0) {
  • $count = ($ordinal }
  • $temp[] = $ordinal;
  • if (count($temp) == $count) {
  • $number = ($count == 3) ? (($temp['0'] % 16) * 4096) + (($temp['1'] % 64) * 64) + ($temp['2'] % 64) : (($temp['0'] % 32) * 64) + ($temp['1'] % 64);
  • $x[] = "|" . $number;
  • $count = 1;
  • $temp = array();
  • }
  • }
  • }
  • $x[] = ' $x[] = '/';
  • $x[] = 'a';
  • $x[] = '>';
  • $x = array_reverse($x);
  • ob_start();
  • ?> $buffer = ob_get_contents();
  • ob_end_clean();
  • if ($tmp == '' || $tmp == NULL) {
  • return $buffer;
  • } else {
  • echo $buffer;
  • }
  • }
  • /**
  • +------------------------------------------------ ----------
  • * Convert hyperlinks in text into clickable links
  • +-------------------------- --------------------------------
  • * @access public
  • +---------- --------------------------------------------------
  • * @ param string $text The string to be processed
  • +--------------------------------------------- ------------------
  • * @return string
  • +------------------------ ----------------------------------
  • */
  • function makeLink($string) {
  • $validChars = "a-z0-9/-_+=.~!%@?#&;:$|";
  • $patterns = array(
  • "/(^|[^]_a-z0-9-="'/])([a-z]+?)://([{$validChars}]+)/ei",
  • "/(^|[^]_a-z0-9-="'/])www.([a-z0-9-]+).([{$validChars}]+)/ei",
  • "/(^|[^]_a-z0-9-="'/])ftp.([a-z0-9-]+).([{$validChars}]+)/ei",
  • "/(^|[^]_a-z0-9-="'/:.])([a-z0-9-_.]+?)@([{$validChars}]+)/ei");
  • $replacements = array(
  • "'\1\2://'.Input::truncate( '\3' ).''",
  • "'\1'.Input::truncate( 'www.\2.\3' ).''",
  • "'\1'.Input::truncate( 'ftp.\2.\3' ).''",
  • "'\1'.Input::truncate( '\2@\3' ).''");
  • return preg_replace($patterns, $replacements, $string);
  • }
  • /**
  • * Get the client browser
  • * @return string
  • */
  • function browse_info() {
  • $browser = "";
  • $browserver = "";
  • $Browsers = array("Lynx", "MOSAIC", "AOL", "Opera", "JAVA", "MacWeb", "WebExplorer", "OmniWeb");
  • $Agent = $_SERVER["HTTP_USER_AGENT"]; //浏览器的全局变量
  • for ($i = 0; $i if (strpos($Agent, $Browsers[$i])) {
  • $browser = $Browsers[$i];
  • $browserver = "";
  • }
  • }
  • if (ereg("Mozilla", $Agent) && ereg("MSIE", $Agent)) {
  • $temp = explode("(", $Agent);
  • $Part = $temp[1];
  • $temp = explode(";", $Part);
  • $Part = $temp[1];
  • $temp = explode(" ", $Part);
  • $browserver = $temp[2];
  • //$browserver =preg_replace("/([d.]+)/","1",$browserver);
  • $browserver = "IE" . $browserver;
  • $browser = "IE";
  • }
  • if (ereg("Mozilla", $Agent) && !ereg("MSIE", $Agent)) {
  • $temp = explode("(", $Agent);
  • $Part = $temp[0];
  • $temp = explode("/", $Part);
  • $browserver = $temp[1];
  • $temp = explode(" ", $browserver);
  • $browserver = $temp[0];
  • $browserver = preg_replace("/([d.]+)/", "1", $browserver);
  • $browserver = " $browserver";
  • $browser = "Netscape Navigator";
  • }
  • if (ereg("Mozilla", $Agent) && ereg("Opera", $Agent)) {
  • $temp = explode("(", $Agent);
  • $Part = $temp[1];
  • $temp = explode(")", $Part);
  • $browserver = $temp[1];
  • $temp = explode(" ", $browserver);
  • $browserver = $temp[2];
  • $browserver = preg_replace("/([d.]+)/", "1", $browserver);
  • $browserver = " $browserver";
  • $browser = "Opera";
  • }
  • //火狐浏览器
  • if (ereg("Mozilla", $Agent) && ereg("Firefox", $Agent)) {
  • $temp = explode("(", $Agent);
  • $Part = $temp[1];
  • $temp = explode(")", $Part);
  • $browserver = $temp[1];
  • $temp = explode(" ", $browserver);
  • $browserver = $temp[2];
  • $browser = "火狐";
  • }
  • //谷歌浏览器
  • if (ereg("Mozilla", $Agent) && ereg("Chrome", $Agent)) {
  • $temp = explode("(", $Agent);
  • $temp = explode(" ", $temp[2]);
  • $browserver = $temp['3']; //如果以后google升级不变位置的话就是它了
  • $browser = "谷歌";
  • }
  • //360safe浏览器
  • if (ereg("Mozilla", $Agent) && ereg("360SE", $Agent)) {
  • //因为360浏览器,没有版本……
  • $browserver = $browser = "360安全卫士";
  • }
  • if ($browser != "") {
  • //$browseinfo = $browser.$browserver;
  • $browseinfo = $browserver;
  • } else {
  • $browseinfo = "Unknown";
  • }
  • return $browseinfo;
  • }
  • /**
  • * 返回时间格式
  • * @name: prepareDate
  • * @desc: prepares a date in the proper format for specific database types
  • * given a UNIX timestamp
  • * @param: $timestamp: a UNIX timestamp
  • * @param: $fieldType: the type of field to format the date for
  • * (in MySQL, you have DATE, TIME, YEAR, and DATETIME)
  • */
  • function prepareDate($timestamp, $fieldType = 'DATETIME') {
  • $date = '';
  • if (!$timestamp === false && $timestamp > 0) {
  • switch ($fieldType) {
  • case 'DATE' :
  • $date = date('Y-m-d', $timestamp);
  • break;
  • case 'TIME' :
  • $date = date('H:i:s', $timestamp);
  • break;
  • case 'YEAR' :
  • $date = date('Y', $timestamp);
  • break;
  • default :
  • $date = date('Y-m-d H:i:s', $timestamp);
  • break;
  • }
  • }
  • return $date;
  • }
  • /**
  • * Adapt to the recursion of multi-dimensional arrays and return after removing duplicate values ​​
  • * @param array $array
  • * @return array
  • */
  • function super_unique($array) {
  • $result = array_map("unserialize", array_unique(array_map("serialize", $array)));
  • foreach ($result as $key => $value) {
  • if (is_array($value)) {
  • $result[$key] = super_unique($value);
  • }
  • }
  • return $result;
  • }
  • /**
  • * If the value does not meet 2 digits, zeros will be added automatically
  • * @param int $num
  • * @return int
  • */
  • function fullzero($num){
  • if(strlen($num)!=2){
  • return '0'.$num;
  • }else{
  • return $num;
  • }
  • }
  • //返回上一个url
  • function get_visit_url(){
  • return $_SERVER['HTTP_REFERER'];
  • }
  • ?>
  • 复制代码 My commonly used common function library


    Statement
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    PHP and Python: Different Paradigms ExplainedPHP and Python: Different Paradigms ExplainedApr 18, 2025 am 12:26 AM

    PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

    PHP and Python: A Deep Dive into Their HistoryPHP and Python: A Deep Dive into Their HistoryApr 18, 2025 am 12:25 AM

    PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.

    Choosing Between PHP and Python: A GuideChoosing Between PHP and Python: A GuideApr 18, 2025 am 12:24 AM

    PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.

    PHP and Frameworks: Modernizing the LanguagePHP and Frameworks: Modernizing the LanguageApr 18, 2025 am 12:14 AM

    PHP remains important in the modernization process because it supports a large number of websites and applications and adapts to development needs through frameworks. 1.PHP7 improves performance and introduces new features. 2. Modern frameworks such as Laravel, Symfony and CodeIgniter simplify development and improve code quality. 3. Performance optimization and best practices further improve application efficiency.

    PHP's Impact: Web Development and BeyondPHP's Impact: Web Development and BeyondApr 18, 2025 am 12:10 AM

    PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

    How does PHP type hinting work, including scalar types, return types, union types, and nullable types?How does PHP type hinting work, including scalar types, return types, union types, and nullable types?Apr 17, 2025 am 12:25 AM

    PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values ​​and handle functions that may return null values.

    How does PHP handle object cloning (clone keyword) and the __clone magic method?How does PHP handle object cloning (clone keyword) and the __clone magic method?Apr 17, 2025 am 12:24 AM

    In PHP, use the clone keyword to create a copy of the object and customize the cloning behavior through the \_\_clone magic method. 1. Use the clone keyword to make a shallow copy, cloning the object's properties but not the object's properties. 2. The \_\_clone method can deeply copy nested objects to avoid shallow copying problems. 3. Pay attention to avoid circular references and performance problems in cloning, and optimize cloning operations to improve efficiency.

    PHP vs. Python: Use Cases and ApplicationsPHP vs. Python: Use Cases and ApplicationsApr 17, 2025 am 12:23 AM

    PHP is suitable for web development and content management systems, and Python is suitable for data science, machine learning and automation scripts. 1.PHP performs well in building fast and scalable websites and applications and is commonly used in CMS such as WordPress. 2. Python has performed outstandingly in the fields of data science and machine learning, with rich libraries such as NumPy and TensorFlow.

    See all articles

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    AI Hentai Generator

    AI Hentai Generator

    Generate AI Hentai for free.

    Hot Article

    R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
    1 months agoBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Best Graphic Settings
    1 months agoBy尊渡假赌尊渡假赌尊渡假赌
    Will R.E.P.O. Have Crossplay?
    1 months agoBy尊渡假赌尊渡假赌尊渡假赌

    Hot Tools

    Safe Exam Browser

    Safe Exam Browser

    Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

    WebStorm Mac version

    WebStorm Mac version

    Useful JavaScript development tools

    SAP NetWeaver Server Adapter for Eclipse

    SAP NetWeaver Server Adapter for Eclipse

    Integrate Eclipse with SAP NetWeaver application server.

    MinGW - Minimalist GNU for Windows

    MinGW - Minimalist GNU for Windows

    This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

    Atom editor mac version download

    Atom editor mac version download

    The most popular open source editor