I agree. I will need to get the regular expression split at least into two as string within __(...) can contain another __(...) string. Working on the two regexes that will accomplish this. Problem is that text in the translation tags __(...) can contain any combination of ( or ) or even __ or even " and ' which am using in regex to track for translation tags __(" ... ")