ホームページ  >  に質問  >  本文

事前定義されたタグを自動的に置き換える方法

<p>上記のように置換する必要がある文字がいくつかありますが、その方法がわかりません。</p><p> 置換する文字: </p> <pre class="brush:php;toolbar:false;">最初 | 終了 | <日> | | <赤> | </赤>| <a ###> | </> |</pre> <p><code>day => 現在の日付を取得します (例: 14)</code></p><p> <code>red => カラーレッド</code> </p><p> <コード><a ###https://www.google.com/>リンク</> => <a href="https://www.google.com/"> リンク< ;/>gt;<

<p><code>入力: こんにちは<red>シロさん</red></code> </p><p> <code>出力: こんにちは<span style="color: red">シロさん</span></code></p> <p>私のチャット履歴。 </p> <p>上記のタグの置換をチェックする汎用関数の書き方を教えていただけますか? これは私のコードです: </p> <p> <pre class="snippet-code-js lang-js prettyprint-override"><code>export const formatTags = (content) => { const firstTag = "<red>"; const SecondTag = "</red>"; const tagsIndex = [...content.matchAll(new RegExp(firstTag, "gi"))].map( (a) => a.index ); const 初期コンテンツ = コンテンツ; tagsIndex.forEach((インデックス) => { const tagContent = initialContent.substring( インデックス firstTag.length、 InitialContent.indexOf(秒タグ, インデックス) ); if (firstTag === "<red>") { content = content.replaceAll( `${firstTag}${tagContent}${secondTag}`、 `<span style="color: red">${tagContent || "疑問"}</span> ); } }); コンテンツを返す。 };</code></pre> </p> <p> <pre class="snippet-code-html lang-html prettyprint-override"><code><span :class="(msg.image || msg.file) && msg.text ? 'mt-2' : ''" v-html="msg.text" v-linkified:オプション="{ クラス名: currentUserId === msg.senderId ? 'メッセージ外部リンク' : ''、 }" /></code></pre> </p> <p>私の英語はあまり上手ではなくてごめんなさい! </p><p> 皆さん、ありがとうございました! </p>
P粉330232096P粉330232096388日前463

全員に返信(1)返信します

  • P粉388945432

    P粉3889454322023-09-04 09:34:29

    置換ルールの マップを作成できます。テキストのキャプチャに使用される正規表現がキーとなり、replace で使用される置換関数コールバックが値になります。ルールをループして文字列を更新します。

    リーリー リーリー

    返事
    0
  • キャンセル返事