首页 > CMS > Wordpress > 正文

WordPress函数esc_js() esc_url() esc_html() esc_sql() esc_attr()用法

2024-09-07 00:51:16
字体:
来源:转载
供稿:网友

下文来给大家整理一些WordPress函数的用法,主要是包括有esc_js() esc_url() esc_html() esc_sql() esc_attr()几个函数,希望对大家有帮助.

esc_js() 用来转义引号,加上反斜线,一般用来过滤内嵌在 Html 中的 JS.

用法:esc_js( $text );

参数:$text

(字符串)(必须)要过滤的字符串.

默认值:None

返回值:(字符串)返回过滤后的字符串.

例子,代码如下:

  1. <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" /> 
  2. //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 语句里.

例子,代码如下:

  1. $name = esc_sql( $name ); 
  2. $status = esc_sql( $status ); 
  3. $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' ) ); ?>" />

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表