parsowanie kodu to partyzantka, nie odróżnisz użycia $zmiennej do operacji łańcuchowych od jej wyświetlenia i nie wyłapiesz wszystkich wyświetleń:
<?php
$str = $zmienna . $zmienna1 . $zmienna2;
?>
Jeżeli cała akcja ma działać dobrze i "na przyszłość" tzn jeżeli ktos coś dokoduje itp to bez obiektu ani rusz. Cały kod nie musi być obiektowy, napisz sobie obiekt trzymający zabezpieczone zmienne w tablicy i metody dostępowe które reagują tak jak chcesz ... taki jednowarstwowy observer.
Napisz dokładnie dlaczego tak ma być, przed czym to ma zabezpieczać itp, bo na razie to tak doradzamy na slepo troche. Może się okazać, że całą idęę trzeba rozwiązać inaczej. Jeżeli chodzi ci o to, żeby:
- nie pokazywać jakiejś wartości wszystkim, tylko wybranym
- rejestrować próby wyświetlenia zmiennej
- sprawdzać poprawność danych przed wyświetleniem
to nie da rady bez obiektu, to jedyna metoda na kontrole dostepu do wartości zmiennej, proceduralna metoda dostepowa owszem - umozliwi te same opcje ale nie zabezpieczy przed dostępem bezpośrednim, co z powodzeniem zapewniaja prywatne właściwości klasy obiektu.