【问题标题】:AngularJS: select alt value and text from img tag in a textarea contentAngularJS:从文本区域内容中的 img 标记中选择 alt 值和文本
【发布时间】:2016-07-03 07:27:07
【问题描述】:

我有一个这样的文本区域

<textarea><img src="..." alt="hello"/> lets go visit the beach ....</textarea>

从外部资源获取文本。我正在考虑做一些类似但不知何故迷失方向的事情

.controller('textCtrl', function ($scope) {
$scope.setValue = function(value){
 angular.element('textarea img').val

var altValues = [];
while (true) {
    var altValueMatch = textareaValue.match(/\<img.*?alt=(\"|\')(.*?)\1.*?\>/),
        altValue = (Array.isArray(altValueMatch) && typeof altValueMatch[2] === "string")
            ? altValueMatch[2]
            : null;

    if (altValue !== null) {
        altValues.push(altValue);
    } else {
        break;
    }

    textareaValue = textareaValue.replace(/\<img.*?\>/, "").trim();
}

//altValues.forEach(function(altValue, i) { alert("ALT VALUE " + i + ": " + altValue);})
//alert("TEXTAREA VALUE: " + textareaValue);
//alert(altValues +" "+textareaValue);

var concatenated = [altValues, textareaValue].join(" ");
//concatenated.replace(/&nbsp;|,/g,"");
//alert(concatenated);
$('#messageID').val(concatenated);

当我使用上面的代码时,它失败了。请问我做错了什么?请帮忙

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    如果我没看错你的问题,你想从检索到的数据中提取alt="text" 吗?这是一个 plnkr 可以做到的http://plnkr.co/edit/bb3g8tNFU0E3Td7xGoe5?p=preview

    app.controller('MainCtrl', function() {
      var vm = this;
      vm.name = 'World';
      vm.content = 'Hello <img src=".." alt="text">';
      vm.content2 = vm.content;
    
      init();
    
      function init(){
        replaceText();
      }
    
      function replaceText(){
        var re = /<img src=".*" alt="(.*)">/gi;
        vm.content2 = vm.content.replace(re, "$1");
      }
    });
    

    这可能不会涵盖您的所有情况。但它应该让你走上正轨。

    如果我没有正确阅读并且您真正想要做的是将&lt;img&gt; 放入&lt;textarea&gt; 中,那么我发现的第一个问题是您试图将&lt;img&gt; 标签放入&lt;textarea&gt;,这是不允许的。看看这里HTML : Is there any way to show images in a textarea? 处理这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-13
      • 2012-04-22
      • 2015-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-20
      相关资源
      最近更新 更多