Okay allow me to find out if I'm able to explain this right. In wordpress there exists a box to place an excerpt. We have to give a second excerpt box. Rather than by hand adding a custom area to each publish I've placed a function to instantly give a custom area as a Meta box around the admin publish page.

Okay making this the issue that i am getting this function is working aside from the truth that anything you enter this area it manages to lose it's line breaks. Then when our authors are contrubuting for this area to be able to keep formatting from the block of text I must by hand add
towards the finish from the paragraph.

Here's my code:

function my_create_post_meta_box() {
    add_meta_box( 'my-meta-box', 'Second Excerpt', 'my_post_meta_box', 'post', 'normal', 'high' );
}

function my_post_meta_box( $object, $box ) { ?>
<p>
    <label for="second-excerpt">
        <strong>Second Excerpt With Images for Post List Page</strong>
    </label>
    <textarea name="second-excerpt" id="second-excerpt" cols="60" rows="4" tabindex="30" style="width: 97%;" wrap="hard"><?php echo wp_specialchars( get_post_meta( $object->ID, 'Second Excerpt', true ), 1 ); ?></textarea>
    <input type="hidden" name="my_meta_box_nonce" value="<?php echo wp_create_nonce( plugin_basename( __FILE__ ) ); ?>" />
</p>
<?php
}

function my_save_post_meta_box( $post_id, $post ) {

    if ( !wp_verify_nonce( $_POST['my_meta_box_nonce'], plugin_basename( __FILE__ ) ) )
        return $post_id;

    if ( !current_user_can( 'edit_post', $post_id ) )
        return $post_id;

    $meta_value = get_post_meta( $post_id, 'Second Excerpt', true );
    $new_meta_value = stripslashes( $_POST['second-excerpt'] );

    if ( $new_meta_value && '' == $meta_value )
        add_post_meta( $post_id, 'Second Excerpt', $new_meta_value, true );

    elseif ( $new_meta_value != $meta_value )
        update_post_meta( $post_id, 'Second Excerpt', $new_meta_value );

    elseif ( '' == $new_meta_value && $meta_value )
        delete_post_meta( $post_id, 'Second Excerpt', $meta_value );
}

Thanks and then any help would do.

Just add this line after $new_meta_value = ...:

$new_meta_value = nl2br($new_meta_value);

And rather than evaluating your values to '', it's easier to use empty(). Also a few of the evaluations are needless. Thus, the add/update/remove a part of your save function could be written such as this:

if(empty($meta_value)) {
    add_post_meta( $post_id, 'Second Excerpt', $new_meta_value, true );
} elseif(empty($new_meta_value)) {
    delete_post_meta( $post_id, 'Second Excerpt', $meta_value );
} else {
    update_post_meta( $post_id, 'Second Excerpt', $new_meta_value );
}

Observe that it certainly is better to use curly braces even when your statement is just one row lengthy. It enhances readability and does not mess some misconception if/if you need to add another row towards the if clause.

Okay I've discovered another means to fix my problem. Thanks Tatu to get my brain workin. For individuals who're searching for an answer this is exactly what Used to do:

$new_meta_value = "<p>" . implode( "</p>\n\n<p>", preg_split( '/\n(?:\s*\n)+/', $new_meta_value ) ) . "</p>";

Don't customize the data saved towards the database. Save just what the user makes its way into. Rather customize the content when you really need to show it. By doing this once the user returns to edit the area the edit the things they place in, not what you have made of the content.

Use wpautop to complete exactly the same translation in your text that WordPress is applicable towards the raw content joined within the publish-content area and get it done once the submissions are asked for for display.

Use wpautop function on frontend template. Like:

<?php $yourvalue =  get_post_meta($post->ID, "yourvalue", true);   
  if ($yourvalue != ""){ ?>
   <dt>Consult&oacute;rio:</dt>
   <dd><?php echo wpautop( $consultorio, $br = 1 ); ?></dd>
<?php } ?>