Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS-标记的文本值-标记为字符串时_Javascript_Regex_Dom - Fatal编程技术网

Javascript JS-标记的文本值-标记为字符串时

Javascript JS-标记的文本值-标记为字符串时,javascript,regex,dom,Javascript,Regex,Dom,当标记存储为字符串时,如何获取标记的文本值 var value = "<div>teeext</div>"; 标记可以是任何东西,它的属性也可能包含>字符串,regexp可能是危险的-文本值本身也可能是另一个标记。我猜您是在尝试剥离标记。。在这种情况下,您可以这样做: originalString = "<div>teeext</div>"; var value = originalString.replace(/(<([^>]+)&

当标记存储为字符串时,如何获取标记的文本值

var value = "<div>teeext</div>";

标记可以是任何东西,它的属性也可能包含>字符串,regexp可能是危险的-文本值本身也可能是另一个标记。

我猜您是在尝试剥离标记。。在这种情况下,您可以这样做:

originalString = "<div>teeext</div>";
var value = originalString.replace(/(<([^>]+)>)/ig,"");
测试一下。如果您需要处理任何异常,请在此处发表评论,我将尽力进一步帮助您

编辑多个标记:

originalString = "<div>teeext</div>";
outputString = originalString;
while (outputString.indexOf(/(<([^>]+)>)/ig) !== -1){
    outputString = outputString.replace(/(<([^>]+)>)/ig,"");
    }
value = outputString;

没有测试过,但你明白了

您可以创建一个虚拟元素:

var value = "<div>teeext</div>";

var div = document.createElement('div');
div.innerHTML = value;

var text = div.innerText || div.textContent;
仅使用javascript:

    var div = document.createElement('div');
    var value = "<div>teeext</div>";
    div.innerHTML = value; 
    var element = div.firstChild

    console.log(element.innerHTML); //this the stuff in the tag

这对初学者有帮助吗

function getText(tagString) {
    var firstOpenTag = tagString.indexOf(">"),
        lastCloseTag = tagString.lastIndexOf("</"),
        substrLength;

    if (firstOpenTag == -1 || lastCloseTag == -1) {
        return tagString;
    }

    substrLength = (tagString.length - firstOpenTag) - (tagString.length - lastCloseTag) - 1;
    return tagString.substr(firstOpenTag + 1, substrLength);
}

var value = "<div>teeext</div>";

console.log(getText(value));

var moreTags = "<div><ul><li>Text</li></ul></div>",
    returnValue = moreTags,
    prevReturnValue = "";

while (returnValue !== prevReturnValue) {
    prevReturnValue = returnValue;
    returnValue = getText(returnValue);
}

console.log(returnValue);

当标签存储为字符串时,您是什么意思?另外,您尝试了什么?整个html元素存储在一个变量中-如示例所示。请阅读:我在问题中也尝试了regexp作为其mentioend。对于这个:teeext:我想看到这个:teeext您想看到那个还是您想看到那个?您是否正在尝试剥离所有标记?是否可以在不操纵文档的情况下获得结果?
function getText(tagString) {
    var firstOpenTag = tagString.indexOf(">"),
        lastCloseTag = tagString.lastIndexOf("</"),
        substrLength;

    if (firstOpenTag == -1 || lastCloseTag == -1) {
        return tagString;
    }

    substrLength = (tagString.length - firstOpenTag) - (tagString.length - lastCloseTag) - 1;
    return tagString.substr(firstOpenTag + 1, substrLength);
}

var value = "<div>teeext</div>";

console.log(getText(value));

var moreTags = "<div><ul><li>Text</li></ul></div>",
    returnValue = moreTags,
    prevReturnValue = "";

while (returnValue !== prevReturnValue) {
    prevReturnValue = returnValue;
    returnValue = getText(returnValue);
}

console.log(returnValue);