add_filter( 'gform_pre_render_81', 'populate_html' );
function populate_html( $form ) {
    //this is a 2-page form with the data from page one being displayed in an html field on page 2
    $current_page = GFFormDisplay::get_current_page( $form['id'] );
    $html_content = "The information you have submitted is as follows:<br/><ul>";
    if ( $current_page == 2 ) {
        foreach ( $form['fields'] as &$field ) {
            //gather form data to save into html field (id 6 on my form), exclude page break
            if ( $field->id != 6 && $field->type != 'page' ) {
                //see if this is a complex field (will have inputs)
                if ( is_array( $field->inputs ) ) {
                    //this is a complex fieldset (name, adress, etc.) - get individual field info
                    //get field's label and put individual input information in a comma-delimited list
                    $html_content .= '<li>' .$field->label . ' - ';
                    $num_in_array = count( $field->inputs );
                    $counter = 0;
                    foreach ( $field->inputs as $input ) {
                        $counter++;
                        //get name of individual field, replace period with underscore when pulling from post
                        $input_name = 'input_' . str_replace( '.', '_', $input['id'] );
                        $value = rgpost( $input_name );
                        $html_content .= $input['label'] . ': ' . $value;
                        if ( $counter < $num_in_array ) {
                            $html_content .= ', ';
                        }
                    }
                    $html_content .= "</li>";
                } else {
                    //this can be changed to be a switch statement if you need to handle each field type differently
                    //get the filename of file uploaded or post image uploaded
                    if ( $field->type == 'fileupload' || $field->type == 'post_image' ) {
                        $input_name = 'input_' . $field->id;
                        //before final submission, the image is stored in a temporary directory
                        //if displaying image in the html, point the img tag to the temporary location
                        $temp_filename = RGFormsModel::get_temp_filename( $form['id'], $input_name );
                        $uploaded_name = $temp_filename['uploaded_filename'];
                        $temp_location = RGFormsModel::get_upload_url( $form['id'] ) . '/tmp/' . $temp_filename['temp_filename'];
                        if ( !empty( $uploaded_name ) ) {
                            $html_content .= '<li>' . $field->label . ': ' . $uploaded_name . "<img src='" . $temp_location . "' height='200' width='200'></img></li>";
                        }
                    } else {
                        //get the label and then get the posted data for the field (this works for simple fields only - not the field groups like name and address)
                        $field_data = rgpost('input_' . $field->id );
                        if ( is_array( $field_data ) ){
                            //if data is an array, get individual input info
                            $html_content .= '<li>' . $field->label . ': ';
                            $num_in_array = count( $field_data );
                            $counter = 0;
                            foreach ( $field_data as $data ) {
                                $counter++;
                                $html_content .= print_r( $data, true );
                                if ( $counter < $num_in_array ) {
                                    $html_content .= ', ';
                                }
                            }
                            $html_content .= '</li>';
                        }
                        else {
                            $html_content .= '<li>' . $field->label . ': ' . $field_data . '</li>';
                        }
                    }
                }
            }
        }
        $html_content .= '</ul>';
        //loop back through form fields to get html field (id 6 on my form) that we are populating with the data gathered above
        foreach( $form['fields'] as &$field ) {
            //get html field
            if ( $field->id == 6 ) {
                //set the field content to the html
                $field->content = $html_content;
            }
        }
    }
    //return altered form so changes are displayed
    return $form;
}