查看: 50|回复: 0

[教程] 详解WordPress开发中过滤属性以及Sql语句的函数使用

[复制链接]

4

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2009-9-15
发表于 2023-6-25 00:00:00 | 显示全部楼层 |阅读模式

esc_attr()(过滤属性)
一般在写 Html 代码的标签属性的时候会是下边的格式:

?
1
<input type="text" name="rep" value="rep_value" />

那如果 value 属性是动态输出的呢?

?
1
<input type="text" name="rep" value="<?php echo get_option( 'rep_value' ); ?>" />

但是,如果动态输出的属性里有双引号、尖括号等特殊字符,Html 代码就会被打乱,这时就可以使用 esc_attr() 函数对输出的属性进行转义。

使用方法

?
1
esc_attr( $text );

参数

$text (字符串)(必须)要转义的字符串。 默认值:None

返回值

返回转义后的字符串。

例子

?
1
<input type="text" name="rep" value="<?php echo esc_attr( get_option( 'rep_value' ) ); ?>" />

其它

此函数位于:wp-includes/formatting.php

 

esc_sql()(过滤 Sql 语句)
esc_sql() 用来过滤准备添加到 Sql 语句里边的字符串,防止 Sql 注入和 Sql 语句被数据干扰出现异常。

用法

?
1
esc_sql( $data );

参数

$data

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

默认值:None

返回值

(字符串)返回过滤后的字符串,可以直接添加到 Sql 语句里。

例子

?
1
2
3
$name = esc_sql( $name );
$status = esc_sql( $status );
$wpdb->get_var( "SELECT something FROM table WHERE foo = '$name' and status = '$status'" );

更多

此函数位于:wp-includes/formatting.php

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部