<===

ProNotes

2025-10-29 17:27:35
<?php
function processLinks($text) {
    // Экранируем HTML, чтобы предотвратить XSS
    $text = htmlspecialchars($text, ENT_QUOTES, 'UTF-8');

    // Жирный: **текст**
    $text = preg_replace('/\*\*(.+?)\*\*/', '<b>$1</b>', $text);

    // Курсив: *текст*
    $text = preg_replace('/\*(.+?)\*/', '<i>$1</i>', $text);

    // Ссылки: [текст](url)
    $text = preg_replace('/\[(.+?)\]\((https?:\/\/[^\s\)]+)\)/', '<a href="$2" target="_blank" rel="noopener">$1</a>', $text);

    // Автоматические ссылки: http://... или https://...
    $text = preg_replace(
        '/(?<!href=")(https?:\/\/[^\s<>"\'()]+)/',
        '<a href="$1" target="_blank" rel="noopener">$1</a>',
        $text
    );

    // Автоматические email: user@domain.com
    $text = preg_replace(
        '/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})/',
        '<a href="mailto:$1">$1</a>',
        $text
    );

    return $text;
}
?>
← Previous
Back to list