Veo que es un problema de concatenación, mira, yo siempre recomiendo esto a todos para que no tengas que lidiar con estos errores tediosos
PHP -> apostrofes
HTML -> comillas
JS en HTML -> apostrofes escapados
un ejemplo de lo que me refiero:
Código PHP:
<?php
echo '<img src="/images/lalala.jpg" onclick="efectito_loco(\'lalala\',10,\'chachacha\')" />';
?>
A mi parecer es muchisimo más facil sabiendo que siempre utilizas esos caracteres para tales lenguajes y no tendrás cruzadas.
Cuando son códigos HTML aplios como el tuyo, te recomendaría que abras etiquetas PHP donde necesitas e imprimas el HTML fuera de estas.
Código PHP:
<a href="<?php echo $url; ?>" title="<?php echo $titulo; ?>"><?php echo $titulo; ?></a>
O sino podes usar heredoc, un método aceptable y no muy usado... wikipedia me salvo con este ejemplo:
Código PHP:
<?php
$name = "Joe Smith";
$occupation = "Programmer";
echo <<<EOF
This is a heredoc section.
For more information talk to $name, your local $occupation.
Thanks!
EOF;
$toprint = <<<EOF
Hey $name! You can actually assign the heredoc section to a variable!
EOF;
echo strtolower($toprint);
?>
Espero te sea util, Salutes.