<?php
function unvar_dump($str) {
    if (strpos($str, "\n") === false) {
        //Add new lines:
        $regex = array(
            '#(\\[.*?\\]=>)#',
            '#(string\\(|int\\(|float\\(|array\\(|NULL|object\\(|})#',
        );
        $str = preg_replace($regex, "\n\\1", $str);
        $str = trim($str);
    }
    $regex = array(
        '#^\\040*NULL\\040*$#m',
        '#^\\s*array\\((.*?)\\)\\s*{\\s*$#m',
        '#^\\s*string\\((.*?)\\)\\s*(.*?)$#m',
        '#^\\s*int\\((.*?)\\)\\s*$#m',
        '#^\\s*bool\\(true\\)\\s*$#m',
        '#^\\s*bool\\(false\\)\\s*$#m',
        '#^\\s*float\\((.*?)\\)\\s*$#m',
        '#^\\s*\[(\\d+)\\]\\s*=>\\s*$#m',
        '#\\s*?\\r?\\n\\s*#m',
    );
    $replace = array(
        'N',
        'a:\\1:{',
        's:\\1:\\2',
        'i:\\1',
        'b:1',
        'b:0',
        'd:\\1',
        'i:\\1',
        ';'
    );
    $serialized = preg_replace($regex, $replace, $str);
    $func = create_function(
        '$match', 
        'return "s:".strlen($match[1]).":\\"".$match[1]."\\"";'
    );
    $serialized = preg_replace_callback(
        '#\\s*\\["(.*?)"\\]\\s*=>#', 
        $func,
        $serialized
    );
    $func = create_function(
        '$match', 
        'return "O:".strlen($match[1]).":\\"".$match[1]."\\":".$match[2].":{";'
    );
    $serialized = preg_replace_callback(
        '#object\\((.*?)\\).*?\\((\\d+)\\)\\s*{\\s*;#', 
        $func, 
        $serialized
    );
    $serialized = preg_replace(
        array('#};#', '#{;#'), 
        array('}', '{'), 
        $serialized
    );

    return unserialize($serialized);
}

$str = 'array(53) {
  [0]=>
  string(5) "Fa0/3"
  [4]=>
  string(0) ""
  [5]=>
  string(4) "100M"
  [6]=>
  string(0) ""
  [7]=>
  string(4) "Pair"
  [8]=>
  string(1) "A"
  [12]=>
  string(0) ""
  [15]=>
  string(0) ""
  [16]=>
  string(3) "+/-"
  [17]=>
  string(2) "15"
  [18]=>
  string(6) "meters"
  [19]=>
  string(4) "Pair"
  [20]=>
  string(1) "B"
  [26]=>
  string(6) "Normal"
  [40]=>
  string(1) "
"
  [56]=>
  string(0) ""
  [57]=>
  string(4) "Pair"
  [58]=>
  string(1) "B"
  [62]=>
  string(0) ""
  [63]=>
  string(2) "56"
  [65]=>
  string(0) ""
  [66]=>
  string(3) "+/-"
  [67]=>
  string(2) "15"
  [68]=>
  string(6) "meters"
  [69]=>
  string(4) "Pair"
  [70]=>
  string(1) "A"
  [75]=>
  string(0) ""
  [76]=>
  string(6) "Normal"
  [90]=>
  string(1) "
"
  [106]=>
  string(0) ""
  [107]=>
  string(4) "Pair"
  [108]=>
  string(1) "C"
  [112]=>
  string(0) ""
  [113]=>
  string(3) "N/A"
  [128]=>
  string(0) ""
  [129]=>
  string(4) "Pair"
  [130]=>
  string(1) "D"
  [135]=>
  string(0) ""
  [136]=>
  string(3) "Not"
  [137]=>
  string(9) "Supported"
  [144]=>
  string(1) "
"
  [160]=>
  string(0) ""
  [161]=>
  string(4) "Pair"
  [162]=>
  string(1) "D"
  [166]=>
  string(0) ""
  [167]=>
  string(3) "N/A"
  [182]=>
  string(0) ""
  [183]=>
  string(4) "Pair"
  [184]=>
  string(1) "C"
  [189]=>
  string(0) ""
  [190]=>
  string(3) "Not"
  [191]=>
  string(9) "Supported"
  [198]=>
  string(1) "
"
}';


var_export(unvar_dump($str));