簡體   English   中英

如何在JavaScript中的兩個指定字符之間替換字符串

[英]How to replace string between two stated chars in javascript

我想將一些代碼替換為dom元素。 例如:

[emo]sad[emo] or [emo]sad[/emo]

<span class='smiley medium' data-emo='" + emo + "'></span>

喜歡

<span class='smiley medium' data-emo='sad'></span>

可能嗎?

怎么樣:

var s1 = "[emo]sad[emo]";
var s2 = "[emo]sad[/emo]";

var regex = /^\[(\w+)\](.+)\[\/?(\w+)\]$/; // matches s1 and s2
var replacement = "<span class='smiley medium' data-$1='$2'></span>";
var s1HTML = s1.replace(regex,replacement);
var s2HTML = s2.replace(regex,replacement);

// now append s1HTML and s2HTML to dom

分解reg ex:

var regex = /
  ^            // start
  \[(\w+)\]    // the first [] block, match inside the []
  (.+)         // match between the [] blocks
  \[\/?(\w+)\] // the second [] block, optional "/", match inside the []
  $            // end
/;

jsbin: https ://jsbin.com/nofizosebe/1/edit js,控制台

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM