michabbb / ejz-core
一组辅助函数。添加到全局作用域。
dev-master
2018-08-07 10:14 UTC
Requires
- php: >=5.5.0
This package is auto-updated.
Last update: 2024-08-28 23:09:42 UTC
README
核心是一组辅助函数。添加到全局作用域。
安装
$ mkdir myproject && cd myproject $ curl -sS 'https://getcomposer.org/installer' | php $ php composer.phar require michabbb/ejz-core:~1.0
要使用它,只需在您的脚本中包含 vendor/autoload.php
。
需求
PHP 5.5 或更高版本(已安装 cURL 和 GD 库)。
函数
每个函数都添加到全局作用域。您不应包含任何命名空间。
esc
编码基本 HTML 字符: >
,<
和 &
。
参数
- s: 要处理的字符串
- decode: 将此设置为 true 以执行反向编码
示例
$s = esc("HTML: <>&"); // $s => HTML: <>& $s = esc($s, $decode = true); // $s => HTML: <>&
fesc
编码 HTML 字符: >
,<
,&
,'
和 "
。用于编码属性值很有用。
参数
- s: 要处理的字符串
- decode: 将此设置为 true 以执行反向编码
示例
$s = fesc("HTML: <>&, '\""); // $s => HTML: <>&, '" $s = fesc($s, $decode = true); // $s => HTML: <>&, '"
cloakHTML
在 HTML 中隐藏一些敏感值。
参数
- s: 要处理的字符串
示例
$value = cloakHTML("value"); echo <<<END <input type="hidden" name="name" value="{$value}" /> END; // => <input type="hidden" name="name" value="value" />
str_truncate
截断长字符串。
参数
- string: 不言而喻
- len: 最大长度(
40
) - center: 显示尾部或不显示(
true
) - replacer: 替换缺失部分的字符串(
...
)
示例
$s = str_truncate("Hello, world!", 5); // $s => H...! $s = str_truncate("Hello, world!", 5, $center = false, '..'); // $s => Hel..
mt_shuffle
使用 mt_rand()
函数对数组进行洗牌。
参数
- items: 数组的引用
- seed: 洗牌算法的种子(
null
)
示例
$a = array(1, 2, 3, 4, 5); array_shuffle($a); // $a => [3, 1, 5, 4, 2]
file_get_ext
从文件名获取扩展名。
参数
- file: 文件名
示例
$ext = file_get_ext("/etc/passwd"); // $ext => "" $ext = file_get_ext("/etc/nginx/nginx.conf"); // $ext => conf
file_get_name
从文件名获取不带扩展名的名称。
参数
- file: 文件名
示例
$name = file_get_name("/etc/passwd"); // $name => passwd $name = file_get_name("/etc/nginx/nginx.conf"); // $name => nginx
curl
用于网络爬取的复杂函数。支持多线程(MT)。
参数
-
urls: 单个 URL 或 URL 列表
-
settings: 关联数组
示例
$content = curl("http://github.com"); preg_match('~<title>(.*?)</title>~', $content, $title); @ $title = $title[1]; // $title => How people build software · GitHub
$content = curl("http://ejz.ru/ua", array( CURLOPT_USERAGENT => "Custom User Agent" )); // $content => Custom User Agent
template
实现模板。
参数
- template: 模板文件
- vars: 在内部使用的变量
示例
<!-- test.tpl --> <html> <head> <title><?=$title?></title> </head> <body> <?=$body?> </body> </html
$vars = array( 'title' => 'test title', 'body' => 'test body', ); echo template("test.tpl", $vars);
validateHost
验证主机名。
参数
- host: 主机名
host
从 URL 中提取(并验证)主机名。
参数
- url: URL
示例
echo host("http://site.com"); // => site.com
curdate
以 Y-m-d
格式返回当前日期。
参数
- days: 向当前日期添加一些天数(
0
)
示例
echo curdate(); // => 2016-09-20 echo curdate(-1); // => 2016-09-19
now
以 Y-m-d H:i:s
格式返回当前日期时间。
参数
- seconds: 向当前时间添加一些秒数(
0
)
示例
echo now(); // => 2016-09-20 12:20:58 echo now(-1); // => 2016-09-20 12:20:57
getTagAttr
返回标签属性(或某个特定的属性)。
参数
- tag: 代表标签的字符串
- attr: 获取某个特定的属性(
null
)
示例
$tag = '<a href="/about/">About</a>'; $attrs = getTagAttr($tag); // $attrs => [href => /about/] $href = getTagAttr($tag, 'href'); // $href => /about/
nsplit
将字符串拆分为数组,字符串被修剪,空字符串被过滤。
参数
- string: 您想要拆分的字符串
示例
$string = "\nhello\n world!\n\n"; $lines = nsplit($string); // $lines => ["hello", "world"]
is_closure
检查参数是否是可调用的闭包。
参数
- obj: 要检查的闭包
示例
$call = function () { echo "Hello, world!\n"; }; $flag = is_closure($call); // $flag => true
is_ip
检查参数是否是有效的 IP 地址。
参数
- ip: 要检查的 IP 地址
示例
$flag = is_ip("192.168.0.1"); // $flag => true $flag = is_ip("0.0.0.0"); // $flag => true $flag = is_ip("1.0.0"); // $flag => false $flag = is_ip("256.0.0.0"); // $flag => false
str_replace_once
仅用替换字符串替换搜索字符串的一个实例。
参数
- needle: 要搜索的字符串
- replace: 替换值
- haystack: 被搜索的字符串
示例
echo str_replace_once("o", "O", "Hello, world!"); // => HellO, world!