{% else-1 %}
Обновить | Подписаться | Поднять тему
Чтобы выполнить действие авторизируйтесь или пройдите регистрацию на сайте.
1. [автор] (3 дек 2015, 20:12) [0/0] [0] [отв] [спам] [под] +1 | -1

<?php
function teg($msg){
preg_match('/(?<=#)[0-9]+$/', $msg, $res);
$usv=mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '$res[0]' LIMIT 1"*);
$nick="$usv[login]";
$msg=preg_replace('/(?<=#)[0-9]+$/is', '<a href="/page?id=$0">'.$nick.'</a>', $msg);
$msg=preg_replace('/[#]/is', '', $msg);
return $msg;
}
?>
Функция определяет по ID пользователя всообшении его логин и выводит ссылку на его профиль. Перед ID должна стоять "#" типа "#1" Выведет ссылку на страничку пользователя с ID=1.
В принципе функция с этим справляется, но проблема в том что при условии если данный хештег в конце сообшения. А если он в середине то она просто затирает его.
Подскажите в чём может быть проблема.
P.S. Что то на подобии есть здесь типа us{ID}


Изм. 1 раз. / Посл. изм. (3 дек 2015, 20:16)
2. (3 дек 2015, 20:21) [0/0] [0] [отв] [спам] [под] +1 | -1

бакс - ета конец сообщения.


На
Добавлено 03.12.15 в 20:23:23:
'\<....\>'

Так, насколько я понял

Прикрепленные файлы:
* PROFIWM_COM_9885_1395851_PROFIWM_COM_7522_1327755_regexp_tutorial.png (81.21 кб)
3. [автор] (3 дек 2015, 20:51) [0/0] [0] [отв] [спам] [под] +1 | -1

Лоликонщик, всё также в конце рубит, а в начале или середине текста не берёт.

4. (3 дек 2015, 21:13) [0/0] [0] [отв] [спам] [под] +1 | -1

Ну и говнокодище. Надо полностью переписывать функцию
Добавлено 03.12.15 в 21:20:46:
<?php

function teg($msg){
preg_match('/#([0-9]+)/', $msg, $res);
$usv=mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '$res[1]' LIMIT 1"*);
$nick="$usv[login]";
$msg=preg_replace('/#([0-9]+)/is', '<a href="/page?id=$1">'.$nick.'</a>', $msg);
return $msg;

}

?>

Пробуй

5. [автор] (3 дек 2015, 21:21) [0/0] [0] [отв] [спам] [под] +1 | -1

Tip, на данном этапе мне это не столь важно, мне больше важна полная роботаспособность функции, а не её чистота. Не чем помочь, проходи мимо.

6. (3 дек 2015, 21:22) [0/0] [0] [отв] [спам] [под] +1 | -1

Spayn®, написал функцию же тебе, епь

7. [автор] (3 дек 2015, 21:22) [0/0] [0] [отв] [спам] [под] +1 | -1
АДСКИЙ ХУЕСОС,

Я до этого уже сам дошол, ноль эмоций.

8. (3 дек 2015, 22:31) [0/0] [0] [отв] [спам] [под] +1 | -1

Spayn®, [code]
<?php
$msg=preg_replace('/#[0-9]/Us', '<a href="/page?id=$0">'.$nick.'</a>', $msg);
?>
[/code]

9. [автор] (4 дек 2015, 01:09) [0/0] [0] [отв] [спам] [под] +1 | -1

ubisoftxxl, тоже самое. В конце текста обробатывает, в начале или в середине просто вырезает.

10. (4 дек 2015, 01:26) [0/0] [0] [отв] [спам] [под] +1 | -1

Spayn®,

Прикрепленные файлы:
* PROFIWM_COM_11599_1396086_Ew6EdeCh7Z0.jpg (6.03 кб)
Чтобы писать сообщения авторизируйтесь или пройдите регистрацию на сайте.
Подписаны: 1
Скачать тему | Файлы темы | Фильтр сообщений