У меня была похожая проблема, но я не мог использовать
strlen(matching_string)
Причина совпадения строки была регулярным выражением с символами переменного количества.
Вместо этого я использовал preg_replace соответствующую строку и работал оттуда.
Полагаю, это похоже на предложение @NikiC, но мне потребовалось некоторое время, чтобы понять.
Надеюсь, это поможет.