WordPress.org

Make WordPress Core

Ticket #17495: 17495-wp-blip-fix.diff

File 17495-wp-blip-fix.diff, 1.5 KB (added by blepoxp, 7 years ago)
  • wp-includes/class-oembed.php

     
    3232                $this->providers = apply_filters( 'oembed_providers', array(
    3333                        '#http://(www\.)?youtube.com/watch.*#i'         => array( 'http://www.youtube.com/oembed',            true  ),
    3434                        'http://youtu.be/*'                             => array( 'http://www.youtube.com/oembed',            false ),
    35                         'http://blip.tv/file/*'                         => array( 'http://blip.tv/oembed/',                   false ),
     35                        'http://blip.tv/*'                              => array( 'http://blip.tv/oembed/',                   false ),
    3636                        '#http://(www\.)?vimeo\.com/.*#i'               => array( 'http://www.vimeo.com/api/oembed.{format}', true  ),
    3737                        '#http://(www\.)?dailymotion\.com/.*#i'         => array( 'http://www.dailymotion.com/api/oembed',    true  ),
    3838                        '#http://(www\.)?flickr\.com/.*#i'              => array( 'http://www.flickr.com/services/oembed/',   true  ),
     
    198198         * @access private
    199199         */
    200200        function _parse_json( $response_body ) {
    201                 return ( ( $data = json_decode( trim( $response_body ) ) ) && is_object( $data ) ) ? $data : false;
     201                $response_body = trim( $response_body );
     202                if ( ! $data = json_decode( $response_body ) ) {
     203                        $response_body = preg_replace( '/"(\s+)"/', '",$1"', $response_body );
     204                        $data = json_decode( $response_body );
     205                }
     206                return is_object( $data ) ? $data : false;
    202207        }
    203208
    204209        /**