echo 'onmouseover="run('text');"'
Wenn Du den String in einzelne Anführungsstriche setzt, kannst Du keine Variablen einbinden, etwa so:
echo 'onmouseover="$function...
wobei $function eine variable ist. Mit
echo "onmouseover='$function...
würde der Inhalt der Variablen ausgegeben werden.
Templates sind toll aber können auch nicht immer eingesetzt werden.
Ich arbeite gerade an einem Projekt, wo der Anwender selbst das JavaScript eingeben will, welches dann bei Eintritt einer Bedingung daten- und situationsabhängig ausgegeben wird. Das nenn' ich eine dynamische Dynamik.
Ich wollte ja auch nur andeuten, dass es manchmal schön wäre, wenn nicht wirklich alle Anführungszeichen gesetzt werden müssen, aber das ist eben so.