WordPress 函数:esc_url_raw

esc_url_raw() 函数类似与 esc_url() (实际上 esc_url_raw 函数中就使用了 esc_url ),但是不同于 esc_url(),它不会将字符转换成 HTML 实体用于显示,它的结果适用于在数据库查询等操作,重定向,或者 HTTP 请求中。

用法

<?php esc_url_raw( $url, $protocols ); ?>

参数

$url
(string) (required) 将要被清理过滤的 URL
Default: 无

$protocols
(array) (optional) 可以接受协议的数组,如果没有设置,默认是:'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet'。
Default: 无

返回值

(string) 
已经清理过滤的 URL

实例

<!-- 正确的用法 -->
<?php
    $url = 'http://blog.wpjam.com';
    $response = wp_remote_get( esc_url_raw( $url ) ); // no need to espace entities
    if ( !is_wp_error( $response ) ) {
        echo wp_remote_retrieve_body( $response );
    }
?>

<!-- 错误的用法,请使用 esc_url 代替! -->
<img src='<?php echo esc_url_raw( $url ); ?>' />
<a href='<?php echo esc_url_raw( $url ); ?>'>小羿</a>

注解

  • 开发者可以通过 cleaned_url 这个 filter 接口队返回 $url 进行再次过滤。

修改记录

Since: 2.8

源文件

wp-includes/formatting.php