<?php
'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";
}
PD9waHAKCiAgICAkaW5wdXQgPSBhcnJheSgKICAgICAgICAnVGVzdCAidGVzdCIgdGVzdCcsCiAgICAgICAgIlRlc3QgJ3Rlc3QnIHRlc3QiLAogICAgICAgICdUZXN0ICJ0ZXN0IiAidGVzdCInLAogICAgICAgICJUZXN0ICd0ZXN0JyAndGVzdCciLAogICAgICAgICJUZXN0ICd0ZXN0JyBcInRlc3RcIiIsCiAgICAgICAgJ1Rlc3QgInRlXFwic3QiIHRlc3QnLAogICAgICAgICJUZXN0ICd0ZVxcJ3N0JyB0ZXN0IiwKICAgICAgICAnVGVzdCAidGVcJ3N0IiB0ZXN0JywKICAgICAgICAiVGVzdCAndGVcInN0JyB0ZXN0IiwKICAgICAgICAnVGVzdCAidGVcJ3NcXCJ0IiB0ZXN0JywKICAgICAgICAiVGVzdCAndGVcInNcXCd0JyB0ZXN0IiwKICAgICk7CiAgICAkcGF0dGVybiA9ICcvKFsiXCddKSg/Oig/IVwxKS58KD88PVxcXFwpXDEpK1wxLyc7CiAgICAKICAgIGZvcmVhY2goJGlucHV0IGFzICRzdHIpCiAgICB7CiAgICAgICAgZWNobyAiSW5wdXQ6ICIsICRzdHIsICJcbiI7CiAgICAgICAgcHJlZ19tYXRjaF9hbGwoJHBhdHRlcm4sICRzdHIsICRtYXRjaGVzKTsKICAgICAgICBwcmludF9yKCRtYXRjaGVzKTsKICAgIH0=