du sagst selbst, dass ein array-eintrag durchsucht wird...wieso benutzt du dann in_array() ??? du suchst doch im prinzip nicht in einem array sondern in einem string...
die fehlermeldung
Wrong datatype for second argument
sagt doch genau das.
und zwar nicht für den suchbegriff, sondern für das, worin du suchst...dein suchbegriff ist ja
das semikolon...
wie wärs mit
str_replace dann werden einfach alle semikolons automatisch ersetzt...