Wenn die Wörter untereinander, durch Zeilenumbruch getrennt, stehen, kann man sie viel einfacher mit der Funktion file() in ein Array einlesen.
Für den oberen Grenzwert bei Aufruf von rand() besser die Anzahl der Wörter durch count() ermitteln.
Wenn Du im PHP nur ein einziges Wort ausgibst, brauchst Du dieses nicht mit jcon_encode() zu kodieren.
Dieses funktioniert bei mir: