$1', $markdown); $markdown = preg_replace('/\*(.*?)\*/s', '$1', $markdown); // Conversion des listes à puces $markdown = preg_replace('/^- (.*?)$/m', '
  • $1
  • ', $markdown); $markdown = preg_replace('/(
  • .*?<\/li>\n?)+/s', '', $markdown); // Conversion des listes numérotées $markdown = preg_replace('/^\d+\. (.*?)$/m', '
  • $1
  • ', $markdown); $markdown = preg_replace('/(
  • .*?<\/li>\n?)+/s', '
      $0
    ', $markdown); // Conversion des liens [texte](url) $markdown = preg_replace('/\[([^\]]+)\]\(([^)]+)\)/', '$1', $markdown); // Détection et conversion des URLs brutes en liens cliquables $urlPattern = '/(https?:\/\/[^\s<]+[^\s<\.)])/i'; $markdown = preg_replace($urlPattern, '$1', $markdown); // Gestion des retours à la ligne $markdown = nl2br($markdown); // Nettoyage des balises br dans les listes $markdown = preg_replace('/<\/li>
    /', '
  • ', $markdown); return $markdown; }