:P Lo primero es, usa variables mas descriptivas. Yo me perdi viendo tantas variables $c, $r, etc...
Lo segundo, estas consultas:
select * from noticias where id=$p[id_noticia]
select * from noticias where id=$p[id_noticia2]
select * from noticias where id=$p[id_noticia3]
Las puedes unificar usando un OR o un IN de MySQL
$var = "{$p['id_noticia']},{$p['id_noticia2']},{$p['id_noticia3']}";
SELECT * FROM noticias WHERE id IN ($var)
Y lo tercero (y solucion a tu problema):
Cita: <td><div class=\"tituloP\"><?=htmlentities(limpia(".$nota1. "[titulo]))?></div></a>
Estas usando mal la sintaxis, de hecho ni necesitas comillas:
<td><div class=\"tituloP\"><?=htmlentities(limpia(
$nota1['titulo']))?></div></a>
El error se repite varias veces.