How to return html as a string from php for WordPress

You are missing multiple single quotes around $a[url], so after src="https://wordpress.stackexchange.com/questions/350229/ there should be a” and after $a[url] there should be another single quote, and you also need to quote the array key, so the whole return line should be

return '<audio class="listen" preload="none" data-size="250" src="' . $a['url'] . '"></audio></div></div>';