$re = '/^(♪\h+[A-Za-z].*?(?:\R[A-Za-z].*?)?)♪?$/m';
$str = '==============================
BEFORE
==============================
400
00:31:44,633 --> 00:31:45,716
Come on.
401
00:31:59,940 --> 00:32:02,399
Caleb used to do that
when he ate.
402
00:32:03,902 --> 00:32:05,069
Pull my hair like that.
410
00:32:46,653 --> 00:32:48,654
♪ Saying</i>
411
00:32:48,738 --> 00:32:52,241
♪ This is my message to you</i>
412
00:32:56,163 --> 00:32:57,538
♪ Don\'t worry</i>
636
00:55:59,545 --> 00:56:02,296
♪ You don\'t own me
637
00:56:02,798 --> 00:56:06,676
♪ I\'m not just
one of your many toys
638
00:56:06,969 --> 00:56:09,929
♪ You don\'t own me
639
00:56:10,347 --> 00:56:16,394
♪ Don\'t say
I can\'t go with other boys
640
00:56:16,728 --> 00:56:20,106
♪ And don\'t tell me
what to do
641
00:56:20,816 --> 00:56:24,026
♪ Don\'t tell me what to say ♪
642
00:56:24,278 --> 00:56:27,822
♪ And please,
when I go out with you ♪
643
00:56:28,365 --> 00:56:31,742
♪ Don\'t put me on display ♪
644
00:56:31,952 --> 00:56:36,080
♪ \'Cause you don\'t own me ♪';
$subst = "$1 ♪";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php