get_terms on save_post hook

You’re on the right track.

When you do something like this in a form..

<input name="tax_input[formats][]" />

You create levels in the $_POST array.

So you’d get the formats array like this…

<?php
$formats = $_POST['tax_input']['formats'];

Full example…

<?php
add_action('save_post', 'wpse74017_save');
function wpse74017_save($post_id)
{
    // check nonces and capabilities here.

    // use a ternary statement to make sure the input is actually set
    // remember that `save_post` fires on every post save (any post type).
    $formats = isset($_POST['tax_input']['formats']) ? $_POST['tax_input']['formats'] : array();

     // do stuff with $formats
}