Я бы спросил, может ли кто-нибудь сказать мне, как найти и заменить все буквы в верхнем регистре (* примечание: не первая буква в слове) и заменить их строчными, а также между тегами span. Я привожу пример, каким должен быть результат
StreEt-> Stre<span>e</span>t
TeAcher -> Te<span>a</span>cher
DOg -> D<span>o</span>g
SchoOl -> Scho<span>o</span>l
Я бы предпочел сделать это прямо в Notepad ++.
Но если это невозможно только с помощью регулярного выражения, некоторые советы о том, как сделать это в цикле php или javascript, будут великолепны.
Заранее спасибо!
С Notepad ++ вы можете сделать:
Найти то, что: \B([A-Z]+)\B
Заменить: <span>\L$1</span>
Удостоверься что Case sensitive
проверено.
Но это не работает с кириллицей.
Вот способ сделать работу с php:
$str = preg_replace_callback("/\B(\p{Lu}+)\B/u",
function ($m) {
return "<span>".mb_strtolower($m[1], 'UTF-8')."</span>";
},
"SchoOl чУствую");
echo $str,"\n";
Выход:
Scho<span>o</span>l ч<span>у</span>ствую
Других решений пока нет …