現在のプロジェクトでテキスタイルとマークダウンの両方をサポートすることを検討しています。ユーザーにどちらかを選択させたくない。ユーザーが使用しているものを自動検出する方法はありますか?これについてどうしますか?JavaScriptとPHPの両方のソリューションを見つけて開発したいので、ライブプレビューを提供したり、サーバー側でユーザー入力を処理したりできます。
3 に答える
ユーザーが投稿で使用する特定の構文要素は1つだけである可能性があるため、すべてを確認する必要があることを考慮してください。「h1」を探しています。明らかに、ユーザーがその要素を正確に使用する場合にのみ機能します。
ヘッダーのようなものではかなり簡単ですが、Markdownフォーマット*this*
をas<em>this</em>
とTextileが<strong>this</strong>
代わりに変換することを考慮してください。したがって、言語ごとに異なる結果をもたらすあいまいな構文構造があります。
ユーザーの選択で行くことをお勧めします。ユーザー(またはあなた)が一般的に好む構文を見つけて、他の選択肢が必要な場合は「yの代わりにxを使用する」チェックボックスを提供してください。
これは本当に難しいことではありません。Markdown は次の構文をサポートしていません。
h1. Header
p. Paragraph
...つまり、それをスキャンして繊維かどうかを確認するだけです。PHPコードで開始するための非常に単純な正規表現(hX.またはp.で始まる行をスキャン):
if (preg_match('/^(p|h[1-6])\. /m', $subject))
{
// Successful match
} else
{
// Match attempt failed
}
おそらく、Markdown をスキャンするための独自の正規表現を作成できるでしょう。
自動検出は、私にはわかりませんが、どちらも「自然な」タイピングに基づいています。
おそらく、ラジオボタンのペアなどを使用して、フォーマットを選択するようにユーザーに依頼することができます。