下文来给大家整理一些WordPress函数的用法,主要是包括有esc_js() esc_url() esc_html() esc_sql() esc_attr()几个函数,希望对大家有帮助.
esc_js() 用来转义引号,加上反斜线,一般用来过滤内嵌在 Html 中的 JS.
用法:esc_js( $text );
参数:$text
(字符串)(必须)要过滤的字符串.
默认值:None
返回值:(字符串)返回过滤后的字符串.
例子,代码如下:
- <input type="text" value="<?php echo esc_attr( $instance['input_text'] ); ?>" id="subbox" onfocus="if ( this.value == '<?php echo esc_js( $instance['input_text'] ); ?>') { this.value = ''; }" onblur="if ( this.value == '' ) { this.value = '<?php echo esc_js( $instance['input_text'] ); ?>'; }" name="email" />
- //Vevb.com
esc_url()(过滤链接)
esc_url() 函数的工作内容:
默认拒绝不是下面协议的 URL:defaulting to http、https、ftp、ftps、mailto、news、irc、gopher、nntp、feed 和 telnet
删除无效字符和危险的字符,将字符转换成 HTML 实体字符.
使用方法:esc_url( $url, $protocols, $_context );
参数:$url
(字符串)(必须)要被过滤的 URL.
默认值:None
$protocols
(数组)(可选)可以接收协议的数组,如果没有设置,则默认为:defaulting to http、https、ftp、ftps、mailto、news、irc、gopher、nntp、feed 和 telnet.
默认值:None
$_context
(字符串)(可选)如何返回 URL.
默认值:(字符串)display
返回值:(字符串)返回过滤后的链接.
例子,代码如下:
<?php echo esc_url( 'www.Vevb.com' );//输出:http://www.Vevb.com ?>
esc_html()(转义 Html)
esc_html() 函数用来转义 Html 代码,让 Html 代码不转义.
用法:esc_html( $text );
参数:$text
(字符串)(必须)要转义的字符串.
默认值:None
返回值:(字符串)返回转义后的字符.
例子,代码如下:
echo esc_html( '<a href="http://www.example.com/">A link</a>' );
esc_sql(),过滤 Sql 语句.
esc_sql() 用来过滤准备添加到 Sql 语句里边的字符串,防止 Sql 注入和 Sql 语句被数据干扰出现异常。
用法:esc_sql( $data );
参数:$data
字符串必须要过滤的字符串.
默认值:None
返回值:字符串返回过滤后的字符串,可以直接添加到 Sql 语句里.
例子,代码如下:
- $name = esc_sql( $name );
- $status = esc_sql( $status );
- $wpdb->get_var( "SELECT something FROM table WHERE foo = '$name' and status = '$status'" ); //Vevb.com
esc_attr(),过滤属性.
一般在写 Html 代码的标签属性的时候会是下边的格式,代码如下:
<input type="text" name="rep" value="rep_value" />
那如果 value 属性是动态输出的呢?
<input type="text" name="rep" value="<?php echo get_option( 'rep_value' ); ?>" />
但是,如果动态输出的属性里有双引号、尖括号等特殊字符,Html 代码就会被打乱,这时就可以使用 esc_attr() 函数对输出的属性进行转义.
使用方法:esc_attr( $text );
参数:$text 字符串必须要转义的字符串,默认值:None.
返回值:返回转义后的字符串.
例子,代码如下:
<input type="text" name="rep" value="<?php echo esc_attr( get_option( 'rep_value' ) ); ?>" />
新闻热点
疑难解答
图片精选