[英]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(/ |,/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.