問題タブ [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 投票する
2 に答える
51 参照

php - PHPこれを文字列から削除する方法は?

文字列からこれを削除したい:

使用できるパターンを教えてください。

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

bbcode - BBコードの操作を止める方法は?

こんにちは私は最近、BBコードを使用してリンクを入力する人々がそれらを操作できるという問題を発見しました。

それらは次のようなものを入力するためのものです。

ただし、次のように入力して、リンクの色を赤にすることができます。

これはそれを変換するコードです:

また、私は忘れました、これは他のタイプです:

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

php - BBコードの操作を停止する方法(パート2)?

私は最近、BBコードを使用してリンクを入力する人々がそれらを操作できるという問題を発見しました。

それらは次のようなものを入力するためのものです。

ただし、次のように入力して、リンクの色を赤にすることができます。

これはそれを変換するコードです:

他の誰かが非常によく似た問題の解決策を提供してくれましたが、彼らは私にこれについての新しい質問を始めてほしいと言っています。彼らのソリューションはただ適応する必要があります。私は自分で試しましたが、実際にそれを機能させることができません。 BBコードの操作を止める方法は?

0 投票する
4 に答える
580 参照

regex - URL 正規表現を除く

はぁ、また正規表現トラブル。

私は以下を持っています$text

私は正規表現を持っています:

[img]ポイントは、前にor[url]がなく、後に[/img]orがない場合にのみ url を置き換えること[/url]です。前の例の出力では、次のようになります。

URL と後読みおよび先読み正規表現の両方が別々に正常に動作しています。

問題は、ルックアラウンドと URL 正規表現の組み合わせにあると思います。私の間違いはどこですか?

したい

http://www.google.comを「there was link」に置き換えますが、「[url] http://www.google.com[/url]」のままにします。

私は得ています

http://www.google.comは「リンクがありました」に置き換えられ、[url] http://www.google.com[/url]は「リンクがありました」に置き換えられました

テストするPHPコードはこちら

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

php - PHP でネストされた bbcode (引用符) を削除する

掲示板からネストされた引用を削除しようとしていますが、いくつか問題があります。

入力例:

[引用著者=personX link=topic=12.msg1910#msg1910 date=1282745641]

最初のメッセージを引用した 2 番目のメッセージ

[/見積もり]

[引用著者=PersonZ リンク=トピック=1.msg1#msg1 日付=1282533805]

ランダムな 3 番目の引用

[/見積もり]

出力例

[引用著者=personX link=topic=12.msg1910#msg1910 date=1282745641]

2番目の引用のメッセージ

[/見積もり]

[引用著者=PersonZ リンク=トピック=1.msg1#msg1 日付=1282533805]

ランダムな 3 番目の引用

[/見積もり]

ご覧のとおり、ネストされた引用 (元のメッセージ) が引用タグとともに削除されます。

私はそれを理解できないようです。

私がしようとすると

最初のものを除いて、引用タグのすべての出現を削除します。

しかし、コードを次のように展開すると:

何もしなくなります。

これに関するアイデアはありますか?


編集:

助けてくれてありがとう、ハギ。

私はトラブルに遭遇し続けます。

whileループアラウンド

ページを無期限にループさせます。削除すると (引用符内の余分な u と共に)、ページは何もしません。

マッチングが原因と判断しました

に変更したとき

コードは機能し始めますが、変更すると

また何もしなくなります。

また、undo_replace 関数には保存されたハッシュが見つからないという問題があり、見つからないインデックスに関する警告のみが表示されます。sha1 に一致する正規表現が正しく機能していないと思います。

私が今持っている完全なコード:

アイデアをありがとうございました:)

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

php - PCRE の制限により、正規表現によって Apache がクラッシュする

私は現在、bbcode 解析エンジンを作成していますが、自分では理解できない状況に遭遇しました。

問題は、私がこの問題とまったく同じような問題に遭遇したことです: Windows 上の Apache / PHP が正規表現でクラッシュする

つまり、以下の例のようなものを作成すると、再帰カウントが 690 (PCRE のメモリ制限は 1MB) に達するため、Apache がクラッシュします。

*したがって、正規表現でandの必要性を何らかの形で最小限に抑える必要がありますが、+それは私がアイデアを持っていない場所なので、何か提案できるかもしれません.

(ネストされたタグを処理できる) bbcode を解析するための他のアプローチを歓迎します。しかし、私はすでに構築されたクラスなどを使用したくありません。何でも自分でやるのが好き!

PECL と Pear HTML_BBCodeParser も調べました。しかし、アプリケーションを拡張機能に依存させたくありません。おそらく、その拡張子をチェックするスクリプトを実行し、存在しない場合は、ここで実行しようとしている BBCode パーサーを使用する可能性があります。

私の説明が暗い場合は申し訳ありません。私は英語が得意ではありません^^

編集。したがって、正規表現は次のように説明しました。

これは私の開始タグです。名前付きグループを使用しました。「タグ」でタグを識別し、「属性」でタグの属性を識別します。タグも属性と考えてください。では、ここで何が起こっているのでしょうか? タグを一致させようとします。タグが一致する場合は、タグ クロージャに到達するまで、=記号の後のものまたは (スペーサー) の後のものと一致させようとします。\s]

ここで、コンテンツを一致させようとしています。これはトリッキーな部分です。[ ではない文字を探しています。見つかった場合は、それが終了タグまたは再帰でないかどうかを確認し、正規表現エンジンにそうするように指示します....

...終了タグが見つかりました。

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

php - このタグをPHPで切り取る方法は?

たとえば、テキストから内部のすべて(タグを含む)を切り取りたいです。

しかし、1つの条件では、タグの内側に[url]タグがあります[img]。したがって、カットする最後の文:

誰か助けてもらえますか?正規表現が苦手ですか、それとももっと簡単な方法がありますか?

0 投票する
0 に答える
695 参照

bbcode - MarkItUp でプレビューに bbcode を表示できません

markItUp を使用して、ユーザーが bbcode を使用してテキストをフォーマットできるようにしたいのですが、プレビューが機能しません。

サイトから markItUp 1.1.8 をダウンロードし、ローカルでテストしました。デフォルトの動作では、フォーマットに HTML コードを使用します。プレビューを押すと、コードが html としてレンダリングされ、フォーマットが表示されます。

同じmarkItUp Webサイトから「基本bbcodeセット」をダウンロードし、指示に従ってこのフォルダーを「sets」フォルダーに入れました。指示に従って、js ファイルのパスを markitup/sets/default/set.js から markitup/sets/bbcode/set.js に変更しました。cssファイルも同様です。

markItUp エディターをテストすると、テキストに bbcode を追加できるようになりましたが、プレビューを押しても、bbcode が書式設定されたテキストとしてレンダリングされません。

markItUp の Web サイトで、プレビューを機能させるには bbcode パーサーを使用する必要があると読んだので、Web サイトから「markItUp! Php BBCode Parser」をダウンロードしました。これを markItUp ファイルのルート ディレクトリに配置し、指示に従ってパーサーへのパスを jquery.markitup.js ファイルに記述しました。私が使用したパスは ~/markitup.bbcode-parser.php です

しかし、これは機能していません。ローカルでテストすると、プレビューに意味のないものが表示されます。ローカルホストでテストすると、プレーンな白いボックスが表示されます。

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

php - PHP 基本 BB コード

BBCode の統合に成功しましたが、許可されている/受け入れられているすべての BBCode を動的にリストしたいかどうか疑問に思っていました - どうすればそれを行うことができますか? (手動で書き出すのは面倒な場合があるため...そしてBBCodeが変更された場合は、書き込みを更新する必要があります)

現在、正規表現を含む配列と置換 (html) を含む配列の 2 つの配列を含む BBCode() 関数があり、正規表現配列の preg_replace() を置換 (html) 配列で返します。 .

乾杯し、あなたの入力を楽しみにしています!

0 投票する
4 に答える
2393 参照

ruby - BBCode を分割する正規表現

私はこれを持っています:

そして私はこれを取得したい: