php文件名字 去掉特殊字符 zblog实现

zblog1年前zblog问题解答78
FormatString($article->Title, '[filename]')

zb_system/function/c_system_common.php

/**
 *  格式化字符串.
 *
 * @param string $source 字符串
 * @param string $para   正则表达式,可用[html-format]|[nohtml]|[noscript]|[enter]|[noenter]|[filename]|[normalname]或自定义表达式
 *
 * @return string
 */
function FormatString($source, $para)
{
    if (strpos($para, '[html-format]') !== false) {
        $source = htmlspecialchars($source);
        //if (version_compare(PHP_VERSION, '5.4.0') >= 0) {
        //    $source = htmlspecialchars($source, (ENT_COMPAT | ENT_HTML401 | ENT_SUBSTITUTE), "UTF-8");
        //} else {
        //    $source = htmlspecialchars($source, ENT_COMPAT, "UTF-8");
        //}
    }

    if (strpos($para, '[nohtml]') !== false) {
        $source = preg_replace("/<([^<>]*)>/si", "", $source);
        $source = str_replace("<", "˂", $source);
        $source = str_replace(">", "˃", $source);
    }

    if (strpos($para, '[noscript]') !== false) {
        $class  = new XssHtml($source);
        $source = trim($class->getHtml());
    }
    if (strpos($para, '[enter]') !== false) {
        $source = str_replace("\r\n", "<br/>", $source);
        $source = str_replace("\n", "<br/>", $source);
        $source = str_replace("\r", "<br/>", $source);
        $source = preg_replace("/(<br\/>)+/", "<br/>", $source);
    }
    if (strpos($para, '[noenter]') !== false) {
        $source = str_replace("\r\n", "", $source);
        $source = str_replace("\n", "", $source);
        $source = str_replace("\r", "", $source);
    }
    if (strpos($para, '[filename]') !== false) {
        $source = str_replace(array("/", "#", "$", "\\", ":", "?", "*", "\"", "<", ">", "|", " "), array(""), $source);
    }
    if (strpos($para, '[normalname]') !== false) {
        $source = str_replace(array("#", "$", "(", ")", "*", "+", "[", "]", "{", "}", "?", "\\", "^", "|", ":", "'", "\"", ";", "@", "~", "=", "%", "&"), array(""), $source);
    }

    return $source;
}



参考 

https://zblog.gongshi5.com/post/156.html 

相关文章

Nginx没有防火墙 Nginx设置加上 垃圾蜘蛛过滤

 if ($http_user_agent ~* "censys|bytedance|GPTBot|openai|Amazonbot|dotbot|c...

可以下 chrome 版本对应的所有驱动 chrome驱动 chromedriver.exe

https://googlechromelabs.github.io/chrome-for-testing/#stable 从这里下载最新的 浏览器测试驱动 https://googlechrome...

error_reporting(0); 和 set_time_limit(0); 啥意思 关闭所有错误报告+php没有时间限制

`error_reporting(0);` 和 `set_time_limit(0);` 是 PHP 中的两个函数调用,它们分别用于控制错误报告和脚本...

zblog后台发文章超级慢的问题排查

zblog后台发文章超级慢的问题排查: zb_system/cmd.php  case 'ArticlePst': ... $zbp->Bu...

在 PHP 中,sha1() 函数用于计算给定数据的 SHA-1 哈希值。

在 PHP 中,sha1() 函数用于计算给定数据的 SHA-1 哈希值。SHA-1 是一种加密哈希函数,它可以接受一个输入(通常是字符串),并产生一个几乎唯一的 160 位(20 字节)哈...

echo plugin_dir_url(__FILE__); zblog 通过文件获取应用URL地址 返回插件目录的URL地址

<?php /** @var ZBLOGPHP $zbp */ require_once '../../../../zb...