Question

J'envisage de prendre en charge Textile et Markdown sur un projet en cours. Je préférerais ne pas forcer les utilisateurs à choisir l’un ou l’autre. Existe-t-il un moyen de détecter automatiquement ce que l'utilisateur utilise? Comment vous y prendriez-vous? J'aimerais trouver / développer à la fois des solutions JavaScript et PHP afin de pouvoir fournir des aperçus en direct ainsi que de traiter les entrées de l'utilisateur côté serveur.

Était-ce utile?

La solution

Considérez que les utilisateurs peuvent utiliser uniquement un élément de syntaxe spécifique dans une publication. Vous devez donc tout vérifier. Vous recherchez & Quot; h1. & Quot; évidemment, ne fonctionne que si l'utilisateur utilise exactement cet élément.

C’est assez facile avec des choses comme les en-têtes, mais considérez que les formats de démarquage *this* comme <em>this</em> et Textile convertissent cela en <strong>this</strong>. Donc, vous auriez des constructions de syntaxe ambiguës qui donneraient des résultats différents dans chaque langue.

Je suggérerais de choisir un utilisateur. Essayez de savoir quelle syntaxe est généralement préférée par vos utilisateurs (ou vous-même), proposez un & Quot; utilisez x au lieu de y & Quot; case à cocher pour ceux qui veulent l’autre choix.

Autres conseils

Cela ne devrait vraiment pas être si difficile. Markdown ne prend pas en charge la syntaxe suivante;

h1. Header

p. Paragraph

... vous devez donc simplement scanner pour vérifier si c'est du textile. Expression régulière très simple à utiliser pour commencer (recherche les lignes commençant par hX. Ou p.) Dans le code PHP:

if (preg_match('/^(p|h[1-6])\. /m', $subject)) 
{
    // Successful match
} else 
{
    // Match attempt failed
}

Vous pourrez probablement écrire votre propre regex pour rechercher Markdown.

La détection automatique, je ne sais pas, les deux sont basés sur & "naturel &"; en tapant.
Vous pouvez peut-être demander à l'utilisateur de choisir un format, avec une paire de boutons radio ou quelque chose d'autre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top