PHP Regex — добавление подчеркивания перед заглавными буквами, но только первая заглавная буква, если в строке есть несколько

Попытка преобразовать что-то вроде WebsiteURL в website_url, Я смог преобразовать его в website_u_r_l используя это предложение: PHP — добавить подчеркивание перед заглавными буквами

Тем не менее, это не работает для моих требований. Трудно найти лучший ответ. Возможно, более простое решение — сначала преобразовать несколько прописных букв в строку, поэтому WebsiteUrl? Хотите знать, какой маршрут будет наиболее эффективным?

0

Решение

 echo strtolower(preg_replace('%([a-z])([A-Z])%', '\1_\2', "WebsiteURL"));

проверить решение Вот

1

Другие решения

Этот код ниже достигает того, чего, я думаю, вы хотите достичь

$result = strtolower(preg_replace('/(.)([A-Z])/', '$1_$2', $subject));

преобразование

TestTest
testTest
testingTest

Для того, чтобы:

testing_test
test_test
test_test

Нашел на этом ЦСИ

0

По вопросам рекламы [email protected]