Tach!
Mit echo kannst du auch einfach mehrere auszugebende Werte durch Komma getrennt notieren. Beispielsweise:
echo '<input type="radio" name="', $counter,
'" value="', $termin->Datum,
'">', $termin->Datum,
'<br>';
Den Kontextwechsel zu vernachlässigen ist grob fahrlässig. Da man also sowieso die Funktion htmlspecialchars() verwenden muss, kommt man gar nicht umhin, variable und feste Bestandteile getrennt auszugeben. (Vorher die Variablen zu htmlspecialchar()en und dann in ""-String einbauen, ergibt letzlich keinen Vorteil.) Man kann das mit der gezeigten Komma-Trennung und echo machen, aber wie du schon sagst:
> Noch praktischer (und teilweise auch übersichtlicher) lässt sich das mit sprintf() lösen.
printf('<input type="radio" name="%s" value="%2$s">%2$s<br>',
htmlspecialchars($counter),
htmlspecialchars($termin->Datum));
In dem Fall gleich mit printf() und nicht echo sprintf().
dedlfix.