Simply search for 'personalised T-shirts'. There are loads of firms which will print text onto them but you get more flexibility with your design if you use a DTP (or image processing) program to create your own design, save it as a jpeg file and then upload it to a firm that prints photos, rather than just text, onto T-shirts.
SmartPhoto offer an excellent service. You can either totally design the whole thing yourself or taking an existing design, which incorporates text, and modify it to your requirements. e.g.
https://tinyurl.com/y6d2yk2c or
https://tinyurl.com/yy6vkq8s
If you're interested in their service, start here:
https://www.smartphoto.co.uk/photo-gifts/t-shirt-with-photo
Complete your basic requirements on the right and then click on 'Go to designs'. You'll then be presented with a wide range of options. (I used them recently to print a T-shirt for a young friend's 11th birthday. I was very impressed with the result!)