問題タブ [bbcode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2410 参照

c# - 文字列から BBCode タグを取り除く正規表​​現

JQuery MarkItUp! を使用する機能に取り組んでいます。エディターを BBCode エディターとして。以下を含む BBCode の小さなサブセットのみを許可しています。

エディターを使用する 1,500 文字の「説明」フィールドがありますが、BBCode をすべて取り除いた 150 文字の説明のダイジェストも保存する予定です。

現在、C# でこれを行うために単純な RegEx を使用しています。基本的には、文字列に埋め込まれた BBCode を削除しますが、[img] URL や [youtube] ビデオ ID などの「ノイズの多いコンテンツ」を大量に残します。これもダイジェストから削除したいと考えています。

これが私の現在の正規表現です:

この関数で次の文字列を実行すると、次の結果が得られます。

ソース

結果

これは大胆です。これは斜体です。ここに画像があります: http://www.phatmac.com/Pics/Movies/Incredibles.jpgここに ESPN へのリンクがあります。YouTube ビデオは次のとおりです: WJ0UkZ3W4FA

ここに私が取り戻したいものがあります

これは大胆です。これは斜体です。画像はこちら: ESPN へのリンクです。これがYouTubeビデオです:

これを実現するために StripBBCode() 関数を変更するにはどうすればよいですか?

編集済み

以下の最初の回答の David からの提案は正しかったです。

これが私が今使っているものです:

0 投票する
1 に答える
373 参照

regex - 正規表現を使用して BBCode を変換する

Web サイト用のカスタム ディスカッション ボードを作成しています。(Web サイトにはカスタムのものが必要です。:)) 私がやろうとしているのは、正規表現を使用して [b] を取得し、出力に変換することです。次に、別のスタイル [img]example.jpg[/img] と <\img src= "example.jpg"> を出力します。しかし、これまでのところ、私が試したことはすべてうまくいっているようには見えません。これがどのように機能するかの例はありますか?

0 投票する
2 に答える
408 参照

php - pregreplaceの正規表現でsubstrを使用する方法

私はyoutubeビデオのbbcodeを作成しています。ユーザーは[youtube]http://www.youtube.com/watch?v=ihK2pPcDSHM[/youtube]のようにbbcodeとしてビデオを投稿できます。次に、HTMLコードに変換しますが、動画の代わりに動画の画像も表示したいと思います。だから私はこのようにします:

画像が表示されますが、誰かが次のようなURLを入力すると次のようになります。

次に、画像のURLはhttp://img.youtube.com/vi/ihK2pPcDSHM&feature=channel1/0.jpg、有効な画像につながらないものになります。に変更しようとして\\1".substr('\\1', 0,11)."ますが、結果がありません。

これを解決するための提案はありますか?ありがとう!

0 投票する
1 に答える
811 参照

javascript - BBCode 正規表現解析の問題

BBCode を HTML に変換する Javascript がありますが、これはうまく機能しているように見えますが、問題があります。

これは、BB タグ [b] と [/b] を <b> と </b> に変換するために使用する、機能する式の 1 つです。

これにより、連続したタグも変換されます。例えば

[b]str1[/b] [b]str2[/b]

になる

str1 str2

どっちがいい; それが私がやりたいことです。ただし、そのように引用タグを一致させようとすると

str はどこですか

[引用]ネスト レベル 1[引用]ネスト レベル 2[/引用][/引用]

最初のタグのみが一致して変換されるため、最終的に次のような出力が得られます

ネスト レベル 1 [引用]ネスト レベル 2

[/見積もり]

最後の引用タグが引用ボックスの外側にある場合 - 他の引用タグ内にネストする必要があります。ヘルプ?

また、関連する場合、quotebox クラスは次のとおりです。

.quotebox{
border:1px はめ込み黒;
表示ブロック;
margin-bottom:5px;
マージントップ:5px;
パディング:2px 2px 2px 4px;
}

0 投票する
2 に答える
302 参照

php - AS3 BBcodeまたは交換技術?

AS3 / PHP(databasecalls)でWebサイトを作成していて、mySQLデータベースからフィードされたニュースをホームページにロードしたいと思います。AMFPHPでプレーンテキストを取得するのに問題はありません。しかし、私は何か違うものを探しています。AS3内で画像/YouTubeビデオをロードする方法を知っているので、それでニュースを少し盛り上げたいと思います。次のような入力方法はありますか

YouTube APIクラスのインスタンスをテキストの間に作成し、2つのTextFieldを作成しますか?AS3用のBBcodeライブラリがないので、私の2番目の推測は...正規表現でした。でも、頭を抱えているようには見えませんが、同じことを試して成功した人はいますか?

前もって感謝します。

0 投票する
2 に答える
1004 参照

php - ユーザーがWYSIWYGでBBCodeまたはHTMLを投稿できるようにしますか?

メンバーページシステムを更新しています。要件の1つは、太字、下線、斜体、フォントの色、および特定のフィールドへのリンクを許可することですが、フォントのサイズやスタイルは許可しません。これらはすべてWYSIWYGエディターを使用します。これは元々、テキストエリアといくつかの最小限のHTMLフィルタリング、つまり。で削除することで行われ<script>ましたpreg_replace()。私が知っているクレイジーで間違いなく危険です。

私の最初の改訂は、TinyMCEを使用し、TinyMCE内の特定のタグを禁止することでした。唯一の問題は、TinyMCEをあらゆる種類のバリデーターとして信頼できないことであり、発見したXSSに対してHTML入力を保護することは絶対的な地雷原です。私はこの1時間ほど特定のプラクティスを読んでいますが、現在のプロファイルを台無しにすることなく特定のHTMLタグ/属性を許可し、さらにフォントサイズやフォントサイズなどの他のカスタマイズを許可することはほぼ不可能になりそうです。インラインスタイルのもの。たとえば、スパンタグでフォントの色を許可する必要がありますが、style属性を許可すると、CSSの任意の部分も許可されます。

私は今、WYSIWYGエディターでBBCodeを使用するというアイデアに取り組んでいます。これによりhtmlspecialchars()、出力に安全に適用し、[b]、[u]、のBBCodeパーサーで生成されるHTMLを完全に制御できるようになります。 [i]、および[color]タグはnl2br()改行用です。

唯一の問題は、現在のHTML設定をBBCodeに変換するために何かをコーディングする必要があることです。

私の主な質問は、BBCodeを使用した前述の手順でXSS攻撃から保護するのに十分かどうかです。それとも、私が使用できるHTMLセキュリティのより優雅で明白な方法はありますか?

0 投票する
1 に答える
264 参照

ruby-on-rails - テキスト領域で複数のマークアップ言語を処理する

ここで、Ruby on Rails 3を使用して、テキスト領域で複数のマークアップ言語(テキスタイル、マークダウン、BBコード)を処理する方法を説明します。

ユーザーは、使用したいマークアップ言語を選択し、その言語で記述して、ユーザーが選択したマークアップ言語を使用してテキストをレンダリングすることができます。

私は現在、テキスト領域ごとにフィールドを格納することを扱っていますが、もっと良い方法があると確信しています。あなたの意見を聞いて、もっと良い方法を考え出したいと思います。

0 投票する
2 に答える
321 参照

javascript - 画像をBBCodeに正規表現する問題

私は自分のphpBB3のために何かに取り組んでいます、私はそれらの笑顔を元の笑顔の状態に戻そうとしています、例えば

スマイリーのHTMLにはこれが含まれているため、次のようになります。

置き換え:

ただし、複数のスマイリーがある場合は、最後のスマイリーが表示されます。たとえば、次のようになります。

代替テキストhttp://uimgz.com/i/R2e3H8g5D8.png

これに変わります:

これが右側の最後のスマイリーですが、なぜそれが置き換えられて、次のように返されるはずのすべてのスマイリー状態が返されなかったのですか?

正規表現は問題ないように見えますが、問題のようには見えません。すべての正規表現は、ループを使用して置換ループを通過するfor()ため、問題はありません。

複数のsmileysHTML:

0 投票する
3 に答える
907 参照

java - の代替BBcodeやWikiのようなより多くのフォーマットを可能にするタグ

JSPアプリケーションを設計していて、ユーザー入力を印刷したいと思います。タグのようなものが必要ですが、<c:out>ユーザーが何らかのフォーマットを行えるようにするものが必要です。

\nまず、翻訳したいのです<br />が、XMLエスケープ<c:out>が提供するすべてのものが必要です。それから私は、BBcodeやWiki構文のようなより多くのフォーマットを許可するのがいいだろうと気づきました。

それを可能にするJSPタグライブラリはありますか?

0 投票する
1 に答える
470 参照

php - BBCode に必要な preg_replace ヘルプ

PHP の preg_replace 関数で使用する適切なパターンがわかりません。これは phpBB フォーラムの BBCode の例です。

テキストに埋め込まれている可能性のある開始フォントタグと終了フォントタグをいくつでも削除したいのですが、その間にテキストを入れておきます。この場合、私は次のようになりたいと思います:

フォントの名前はさまざまで、名前にスペースが含まれているものと含まれていないものがあります。パターンマッチは関係なく機能する必要があります。

前もって感謝します!