По клике на кнопку в форму отправки сообщения вставляется ник пользователя которому адресовано это сообщение.
На выходе получается @Ник получателя@, дальше возможно какой то текст
Мне нужно получить/достать/считать Ник получателя между @@
и записать его в переменную, чтобы потом сравнить полученный ник с ником с сессии. Если совпадают, то заменить @@
на span
с классом или стилем, а если не совпадают, то заменить, например, на курсив.
Гугл перекопал вдоль и поперек, но ничего подобного не нашел.
Ребят, помогите, пожалуйста, решит эту задачу.. Если это вообще возможно)
<?php if (!in_array($autor_nick, $us_status_ban)) : ?> // проверка автора на бан
<?php if ($autor_role == 'admin') : ?> // по роли ставлю цвет ссылки и текста
<a class="link answer_link" href="profile?id=<?= $autor_id; ?>" style="color: red;"><?= $autor_nick; ?></a><br>
<p style="color: red;"><?= nl2br(showSmile($title, $pdo)); ?>// обработка текста сообщения (показ смайлов и переносы строк)
</p>
<?php elseif ($autor_role == 'moderator') : ?>
<a class="link answer_link" href="profile?id=<?= $autor_id; ?>" style="color: green;"><?= $autor_nick; ?></a><br>
<p style="color: green;"><?= nl2br(showSmile($title, $pdo)); ?></p>
<?php else : ?>
<a class="link answer_link" href="profile?id=<?= $autor_id; ?>"><?= $autor_nick; ?></a><br>
<p><?= nl2br(showSmile($title, $pdo)); ?></p>
<?php endif; ?>
<?php else : ?>
<span style="color: grey;">Автор временно не доступен - в бане <img src="/images/dirol.gif"></span>
<p><?= nl2br(showSmile($title, $pdo)); ?></p>
<?php endif; ?>
<p>
<?= $data; ?>
</p>
<?php if ($autor_nick != $us_ses_nick) : ?>
<button id="answer_btn">Ответить</button>
<?php endif; ?>
// функция для обработки @Ник получателя@
function replace_nick ($msg, $user) {
preg_replace_callback('/^@([^@]*?)@/u', function($m) use ($user){
$nickname = $m[1];
if($nickname == $user) {
return "<span class='red'>{$nickname}</span>";
}
return "<em>{$nickname}</em>";
}, $msg);
}
// функция показа смайлов
function showSmile ($str, $pdo) {
$stmt = $pdo->query("SELECT * FROM smiles ORDER BY id DESC");
while ($result = $stmt->fetch()) {
$symbol[] = $result['title'];
$graphics[] = '<img src="' . $result['img'] . '">';
}
return str_replace($symbol, $graphics, $str);
}
// в итоге если добавить функцию replace_nick до обработки
// текста выше в коде, то получаю ошибки потому что функции
// принимают разные параметры
// если убрать функцию showSmile, а оставть replace_nick,
// то тексты всех сообщений просто исчезают
что-то вроде такого
$result = preg_replace("/^@([^@]*?)@/u", "<span>$1</span>", $msg);
чтобы просто заменить. Или для получения значения и дальнейшей логики, примерно так:
preg_replace_callback(..., function($m) use ($user){
$nickname = $m[1];
if($nickname == $user) {
return "<span class='red'>{$nickname}</span>";
}
return "<em>{$nickname}</em>";
}, $msg);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Допустим, у меня в бд есть числовые поля value_from и value_toТам хранятся значение вида value_from 1, value_to 3 первая запись
При использовании обычной загрузки файла(без multiple), имя файла записывается в нужный столбец в БД, но при загрузке множества файлов(с multiple)...
Всем доброго дня! Не получается сделать фильтр от минимального до максимального значенияУ меня есть контроллер в котором я сравниваю цену...