1

HTML:

<textarea>
http://ex.com=>sitename1=>Fashion
http://some.com=>sitename2=>Sport
</textarea>
<br>
<code></code>

jQuery :

val = $("textarea").text();
obj = val.substr(val.indexOf ( '=>' ) )

$("code").html(obj)

我没有任何想法...

在这里测试:http: //jsfiddle.net/2heTu/

我可以通过任何方式获得结果并使用以下对象:

  1. ex.com(时尚类别中的站点名称 1)
  2. some.com(Sport 类别中的 sitename2)
  3. ..... 更多更多更多
4

2 回答 2

0

像这样的东西应该能让你大部分时间到达那里:

jQuery(function($) {

  var val = $("textarea").val(); // You'll want a more targetd selector there, not just "textarea"
  var lines = val.split(/[\r\n]+/);

  $.each(lines, function(index, line) {
    var parts = line.split(/ *=> */);
    display(parts[0] + " in " + parts[1] + " category " + parts[2]);
  });

  function display(msg) {
    $("<p>").html(String(msg)).appendTo(document.body);
  }
});

实例| 来源

那是做什么的:

  • $("textarea").val()textarea- 获取页面上第一个的值。您可能需要一个比这更有针对性的选择器。
  • var lines = val.split(/[\r\n]+/);- 将其分成几行
  • $.each(lines, function(index, line) { ... });- 在线路上循环
  • var parts = line.split(/ *=> */);- 将线分割成单独的部分。
  • display(...)- 显示零件,但更重要的是:
    • part[0]每行三件事中的第一件事(看起来像一个 URL)
    • part[1]第二件事(网站名称?)
    • part[2]第三件事(类别)
于 2012-06-13T17:23:00.663 回答
0
var val = $("textarea").text(),
    parts = val.split(/[\r\n]+/);
$.each(parts, function(i, val) {
    if(val.length) {
        var temp = $.trim(val).split('=>'),
            output = '';

        output += temp[0].replace('http://', '') + '(' + temp[1] + ' in ' + temp[2] + ' category)';
    $("code").append(output).append('<br>');
}
})

演示

笔记

  • 获取.val()使用的 textarea 方法的值
  • .split(/[\r\n]+/) 用于获取每一行
  • $.each(parts, function(i, val) {..}在每一行上循环
    • i参数是索引0,1,2..
    • val持有每一行
  • if(val.length) {..检查空值
  • $.trim(val)删除空格
  • $.trim(val).split('=>')分割每一行=>并返回一个数组 temp = ["http://ex.com", "sitename1", "Fashion"],依此类推
    • temp[0]包含网址
    • temp[1]包含站点名称
    • temp[2]包含类别
  • `temp[0].replace('http://', '')http://从网址中删除
  • $("code").append(output)将输出附加到
  • .append('<br>')在每个输出后添加新行
于 2012-06-13T17:23:44.103 回答