-
Notifications
You must be signed in to change notification settings - Fork 23
weblib.php解析
#weblib.php解析
##材料一、官方的文档 官方文档资料
#材料二、我的分析 ##s()和p()
/**
* Add quotes to HTML characters
*
* Returns $var with HTML characters (like "<", ">", etc.) properly quoted.
* This function is very similar to {@link p()}
*
* @todo Remove obsolete param $obsolete if not used anywhere
*
* @param string $var the string potentially containing HTML characters
* @param boolean $obsolete no longer used.
* @return string
*/
function s($var, $obsolete = false) {
if ($var === '0' or $var === false or $var === 0) {
return '0';
}
return preg_replace("/&#(\d+|x[0-7a-fA-F]+);/i", "&#$1;", htmlspecialchars($var, ENT_QUOTES, 'UTF-8', true));
}
/**
* Add quotes to HTML characters
*
* Prints $var with HTML characters (like "<", ">", etc.) properly quoted.
* This function simply calls {@link s()}
* @see s()
*
* @todo Remove obsolete param $obsolete if not used anywhere
*
* @param string $var the string potentially containing HTML characters
* @param boolean $obsolete no longer used.
* @return string
*/
function p($var, $obsolete = false) {
echo s($var, $obsolete);
}
以上代码功能基本相同 就是输出UTF-8的文本
示例程序:
<?php
function s($var, $obsolete = false) {
if ($var === '0' or $var === false or $var === 0) {
return '0';
}
return preg_replace("/&#(\d+|x[0-7a-fA-F]+);/i", "&#$1;", htmlspecialchars($var, ENT_QUOTES, 'UTF-8', true));
}
function p($var, $obsolete = false) {
echo s($var, $obsolete);
}
p('helloworld');
echo '<br>##########<br>';
echo s('<a>');
echo '<br>##########<br>';
p('!@#$%^&*()_+');
结果:
helloworld
##########
<a>
##########
!@#$%^&*()_+
你觉得没什么 是这样的么??? 难道你没发现你输出的html标签还是文本么!
##function addslashes_js($var) 废弃了 不用管了
##function get_referer($stripquery=true) 返回$_SERVER['HTTP_REFERER'] 简而言之,HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。
##format_test()##
function format_text($text, $format=FORMAT_MOODLE, $options=NULL, $courseid=NULL )
Mainly used for long strings like posts, answers, glossary items...
主要是用来输出post answsers 等,非常强大的函数 能清理不安全的内容 支持多种多样的文本 而且还有基于db的缓存功能,当服务器处理大量相同的文本的时候可以缓解服务器的压力。
##format_string()##
function format_string ($string, $striplinks = true, $courseid=NULL )
处理短的字符串,比如标题这样的 同样有过滤功能,是format_test的缩减版
##print_textarea()##
function print_textarea($usehtmleditor, $rows, $cols, $width, $height, $name, $value='', $courseid=0, $return=false)
以textarea方式显示文本。
##weblib.php总结## 这个文件主要的作用就是做各种文本的处理 很强大 值得学习 官方给的一个doc 官方小doc