A man from Keighley convicted of multiple sexual offences against a child has been jailed for 18 years.