Пример шаблона: (Здравствуйте|Добрый день), Евгений.(| Сегодня (прекрасная|плохая|ужасная) погода, не так ли?| Как Вы (поживаете|себя чувствуете)?)
В круглых скобках(группах) фразы разделены символом |. Из группы выбирается одна случайная фраза. Группы могут содержать неограниченное количество подгрупп. Таким образом из примера-шаблона могут получиться лишь следующие фразы:
<?php
function strTemplate($enter)
{
while(preg_match_all('/\\(([^()]*)\\)/', $enter, $matches))//Если есть строка со скобками в скоторой нет скобок, то записываем её в массив
{
$list = explode("|",substr($matches[0][0], 1, strlen ($matches[0][0])-2));//массив вариантов
$enter = substr($enter, 0, strpos($enter, $matches[0][0])).$list[rand(0, substr_count(substr($matches[0][0], 1, strlen ($matches[0][0])-2),"|"))].substr($enter, strlen ($enter) - strrpos(strrev ($enter), strrev ($matches[0][0])));//собираем строку
}
echo $enter;
}
$a = strTemplate("(Здравствуйте|Добрый день), Евгений.(| Сегодня (прекрасная|плохая|ужасная) погода, не так ли?| Как Вы (поживаете|себя чувствуете)?)");
echo ($a);
В предыдущем моём сниппете, я рассказывал про Font Awesome - иконочный шрифт.
Сейчас я покажу, как можно подключить нужный шрифт на вашем сайте. Делается очень просто, копируете шрифты (конвертируем нужный тут), и подключаем в css-файле:
@font-face {
/* Указываем название шрифта, которое будет использоваться в css */
font-family: 'Proxima Nova';
src: url('../fonts/ProximaNovaRegular.eot');
src: url('../fonts/ProximaNovaRegular.eot?#iefix') format('embedded-opentype'),
url('../fonts/ProximaNovaRegular.woff') format('woff'),
url('../fonts/ProximaNovaRegular.ttf') format('truetype'),
url('../fonts/ProximaNovaRegular.svg#webfont') format('svg');
}
h1 {
font-family: 'Proxima Nova', sans-serif;
}
Если вам нужно пользователю отобразить изменения в тексте, то лучший вариант использовать diff. Для этого используем плагин PrettyTextDiff.
Затем нужно сделать следующую разметку:
<table class="diff-wrapper table">
<thead>
<tr>
<th>Оригинал</th>
<th>Изменено</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="original">
Раньше люди считали планету Земля — плоской
</div>
</td>
<td>
<div class="changed">
Сейчас люди считают планету Земля — круглой
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div class="result"></div>
</td>
</tr>
</tbody>
</table>
Важно! По-умолчанию плагин PrettyTextDiff, в указанном селекторе, будет искать классы original
и changed
. Если вы хотите указать другие классы, задайте в свойствах originalContainer
, changedContainer
названия нужных классов.
Чтобы результат сравнения был красиво раскрашен, добавим стили:
ins {
background-color: #c6ffc6;
text-decoration: none;
}
del {
background-color: #ffc6c6;
}
Конечный результат:
Плагин вызываем так:
$('.diff-wrapper').prettyTextDiff({
diffContainer: '.result'
});