/**
* Replace image urls with newly uploaded images.
*
* @since 1.0.0
*
* @param array $images Array of new images uploaded.
* @param array $data Array of for which images url needs to be replaced.
*/
private function replace_images_urls( $images, $data ) {
$data = wp_json_encode( $data );
foreach ( $images as $image ) {
if ( isset( $image['replacement_url'] ) ) {
if ( isset( $image['id'] ) && is_int( $image['replacement_url'] ) ) {
$search = $image['id'];
$replacement = $image['replacement_url'];
$data = preg_replace( "/(gallery_ids=.*){$search}(.*\")/", "\${1}{$replacement}\${2}", $data );
} else {
$url = str_replace( '/', '\/', $image['url'] );
$replacement = str_replace( '/', '\/', $image['replacement_url'] );
$data = str_replace( $url, $replacement, $data );
}
}
}
return json_decode( $data, true );
}