I have this str_replace regex: $username="any string in english letters"; $convert = str_replace('(a-zA-Z)*?', "unknown", $username); echo $convert; Code (markup): its suppose to b like this but when I run it gives me "any string in english letters" without any replacements it should outputs only "unknown" string... any ideas?