В регулярных выражениях нужно дописывать U, чтобы захват не происходил полностью, а только нужного куска. То есть я обычно пишу ("/typo(.*)ghost/ismU"), чтобы при поиске нормально понимались пробелы, нижний и верхний регистр, поиск проходил по всем строкам и захватывал минимально-подходящий кусок.