Хорошо, как выставить точный размер шрифта в эммах, для дочернего элемента? Сидеть и подбирать? Если мне надо аналог 12px. Получается, для родительского элемента я выставлю размер в эммах, а для дочернего в пикселях?
Я бы их с удовольствием использовал, но внутри контейнера pre - они не всегда ведут себя корректно (не всегда срабатывают)... А использовать в одном месте пиксели, а в другом эммы, не слишком красиво? К тому же, большинство крупных сайтов, до сих пор используют (почему-то) пиксели?..
Это не работает по какой-то неведомой причине. Если ставишь задержку исполнения скрипта, на пару секунд - срабатывает. Но это ведь не правильно? Поэтому я и спросил, как отследить загрузку скрипта?
Большое спасибо!
На второй вопрос, действительно, бестолковый. Всё гениальное просто...
На первый вопрос, вы не могли бы привести пример для моего случая? Я немного не понимаю, что там происходит. Всё, на что хватает моих знаний, реализовано выше...
Вот так выглядит отрывок кода где она встречается:
if (word === '') {
hw = '';
} else if (enableCache && lo.cache && lo.cache.hasOwnProperty(word)) { //the word is in the cache
hw = lo.cache[word];
} else if (word.indexOf(hyphen) !== -1) {
//word already contains shy; -> leave at it is!
hw = word;
} else if (lo.exceptions.hasOwnProperty(word)) { //the word is in the exceptions list
hw = lo.exceptions[word].replace(/-/g, hyphen);
} else if (word.indexOf('-') !== -1) {
hw = hyphenateCompound(lo, lang, word);
}
Задача весьма простая, есть блок текста следующего вида:
--/ Начало /--
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
<div>
Здесь обрабатывать не надо.
<span>Здесь обрабатывать не надо.</span>
</div>
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
<pre>
Здесь обрабатывать не надо.
Здесь обрабатывать не надо.
Здесь обрабатывать не надо.
</pre>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
<ul>
<li>Здесь обрабатывать не надо.</li>
...
Здесь обрабатывать не надо.</li>
</ul>
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
--/ Конец /--
Как обработать, (допустим, заключить их в тег параграфа), все абзацы на странице КРОМЕ ТЕХ, которые находятся внутри тегов (div|pre|ul)?
Именно с помощью if else, а не сначала добавить везде, а потом вычищай как хочешь.
Я ведь предложил, практически идеальный алгоритм? Берём параграф, проверяем, если мы внутри одного из тегов (div|pre|ul) - ничего с ним не делаем. Если нет, добавляем на концы теги параграфа. Как это выразить в коде?
Вопрос целесообразности оставим. Задание сделать именно так...
Если использовать функцию nl2br вместо preg_replace, то, почему-то перестаёт работать функция, которая удаляет лишние пустые строки: $content = preg_replace( '/(<br>)(\s*\1)+/miu', "<br>\r\n<br>", $content );.
А как их удалить сразу, везде, кроме контейнера pre, я не знаю пока. Если знаете, подскажите.
[цитата]логичнее в тег pre ничего не добавлять что бы ненароком не удалить лишнего. Вдруг там по замыслу автора уже стоял тег [/цитата].
Подскажите пожалуйста, как в данном случае, можно это реализовать?
Нет, мне необходимо на лету обрабатывать содержимое шорткодов, поэтому получать и удалять лишнее не подходит. Мне именно необходима конструкция вида:
if ( preg_match( "/^\[foo\][\s\S]*?\[\/foo\]$/miu", $content ) ) {
// Здесь обрабатываем все отдельно стоящие шорткоды
} else {
// Здесь обрабатываем все остальные
}