使用正则表达式</select>读取<select>选项

时间:2011-04-26 12:27:38

标签: javascript regex

我有以下代码。从这里我想在新行中显示每个值的两个值。

<p><select id="temp">
 <option value="default" selected="selected">--Choose value--</option>
 <option  >one</option>
 <option  >two</option>
 <option >three</option>
</select>
</p>

我试图删除所有标签并在每个值之间添加新行并删除 - 选择值 - 文本

我想要输出为 - &gt;一两三(每个都在新行)

这是我尝试过的事情

 tmp = tmp.replace(/<\/p><p>/ig, "<\/p>\n<\/p>");
 tmp = tmp.replace(/(<([^>]+)>)/ig,"");
 tmp = tmp.replace(/\n/g, "\n"); 
 tmp = tmp.replace("--Choose an option--","");

1 个答案:

答案 0 :(得分:0)

你试过了吗?

tmp = tmp.replace("--Choose value--</option>",""); // remove first option
tmp = tmp.replace(/<\/option>/g, "\n"); // replace all </option> with newline
tmp = tmp.replace(/<.*?>/g,""); // remove all other tags
tmp = tmp.replace(/^\s+/g,""); // remove spaces at the beginning of lines
tmp = tmp.substring(0,tmp.length-1); // remove trailing newline

这有点紧凑:

tmp = tmp.replace(/.*?<option *>(.*?)<\/option>(?:(?!<option).)*/g, "$1\n");
tmp = tmp.substring(0,tmp.length-1); // remove trailing newline