<?php

    $input = array(
        'Test "test" test',
        "Test 'test' test",
        'Test "test" "test"',
        "Test 'test' 'test'",
        "Test 'test' \"test\"",
        'Test "te\\"st" test',
        "Test 'te\\'st' test",
        'Test "te\'st" test',
        "Test 'te\"st' test",
        'Test "te\'s\\"t" test',
        "Test 'te\"s\\'t' test",
    );
    $pattern = '/(["\'])(?:(?!\1).|(?<=\\\\)\1)+\1/';
    
    foreach($input as $str)
    {
        echo "Input: ", $str, "\n";
        preg_match_all($pattern, $str, $matches);
        print_r($matches);
    }