Czytam to 5 raz i nadal nie wiem o co chodzi.
Co chcesz konwertować? Chyba pobrać najbardziej poprawny adres IP klienta (jeśli takowy jest znany)
Co w kodzie jest "be":
- coś takiego "if("PHP51_MODE")" zawsze zwróci ci prawdę bo to jest łańcuch znaków, a nawet jeśli użyjesz stałej to jest ona niezadeklarowana więc musiałbyś zrobić co najmniej:
- dlaczego PHPv5 może korzystać z wyrażeń regularnych, a inne wersje nie? a manual mówi, że preg_match występuje w wersji 4
- jak dla mnie sprawdzanie w środowisku produkcyjnym adresacji z pul prywatnych jest zbędnym zabiegiem, chyba że stawiasz serwer wewnętrzny (intranetowy) i jest ci to do czegoś potrzebne, a widzę że chyba nie
- sprawdzanie SSL'a przy adresacji IP...
- mieszanie typów zmiennych - raz $address jest boolem, raz stringiem - do ujednolicenia
Powiem tak: kiedyś, kiedy potrzebowałem sprawdzać IP korzystałem tylko z dwóch kluczy tablicy $_SERVER - HTTP_X_FORWARDED_FOR oraz REMOTE_ADDR.
Jeśli pierwszy posiadał jakąś daną to znaczy, że ruch szedł przez proxy i proxy przekazywało adres źródłowy. W innych przypadkach adres był przechowywany tylko w drugim kluczu.
Ogólnie strasznie zamotałeś i z banalnej funkcji zrobiła się kobyłka.
To może krótko opisz co chcesz uzyskać jako wynik i jak mniej więcej prezentuje się infrastruktura - bo jak mniemam pracujesz na webserwerze lokalnym.