簡體   English   中英

AngularJS:從textarea內容的img標簽中選擇alt值和文本

[英]AngularJS: select alt value and text from img tag in a textarea content

我有一個這樣的文本區域

<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);

當我使用上面的代碼時,它將失敗。 請問我做錯了什么? 請協助

如果我正確地閱讀了您的問題,是否要從檢索到的數據中提取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");
  }
});

這可能不會涵蓋您的所有情況。 但這應該使您走上正確的道路。

如果我沒有正確閱讀它,而您真正想做的是在<textarea>放入<img>那么我發現的第一個問題是您正在嘗試在<textarea>放入<img>標簽。 ,這是不允許的。 在這里看看HTML:有什么方法可以顯示文本區域中的圖像嗎? 處理這個問題。

暫無
暫無

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

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