3v4l.org

run code in 300+ PHP versions simultaneously
<?php $str = 'abc | xx ?? "1 x \' 3" d e f \' y " 5 \' x yz'; echo preg_replace('~(?<!\\\\)(?:\\\\{2})*(?:"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"|\'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\')(*SKIP)(?!)|\s+~s', '', $str);

preferences:
27.9 ms | 404 KiB | 5 Q