На моем сайте я хочу использовать немецкую букву ß, которая существует только в виде строчной буквы. Хотя я хочу, чтобы все заголовки отображались заглавными буквами (заглавные буквы), я использую font-transform: uppercase
. Но это заменяет букву ß буквой верхнего регистра, которая не нужна из-за определенных функций проектирования и программирования.Regex: Изменить заголовки Тексты в верхнем регистре
Так что я думал о preg_replace_callback
, который меняет все буквы в заголовках в моем HTML-коде на их заглавные буквы.
$content = preg_replace_callback('/(<h\d>)(.*)(<\/h\d>)/', function($matches) {
return $matches[1] . mb_strtoupper($matches[2], 'UTF-8') . $matches[3];
}, $content);
Это хорошо работает по заголовкам без специальных атрибутов или вложенных ссылок и т.д. Как я в общей сложности новичок в регулярных выражениях я не знаю, как писать их.
В основном <h2 class="heading-italic"><a href="http://www.google.de">Google</a></h2>
должен стать для <h2 class="heading-italic"><a href="http://www.google.de">GOOGLE</a></h2>
Как бы мое регулярное выражение взгляда, что также отлова заголовков с атрибутами, а также (несколько) вложенные элементы?
Я хотел бы порекомендовать две вещи: 1) Придерживайтесь двойной буквы S для заглавных букв ß, так как это общепринято как «правильное». Причина в том, что CSS делает это так. Это похоже на микширование минус/тире (-/-), апостроф/акцент, [plenken] (https://en.wikipedia.org/wiki/Plenken) и т. Д.: Пользователь понимает это, но это неправильно. 2) [Не разбирайте HTML с регулярным выражением] (http://stackoverflow.com/a/1732454/3890673) :-) – crusy