Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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 prototypejs中的字符串匹配_Javascript_String_Prototypejs - Fatal编程技术网

Javascript prototypejs中的字符串匹配

Javascript prototypejs中的字符串匹配,javascript,string,prototypejs,Javascript,String,Prototypejs,我在javascript中有以下字符串 str = '<a href="/display/1">This is link</a>'; 但是获取未定义的字符串不是DOM对象。 您拥有的变量-str是一个字符串,innerHTML属性仅存在于DOM(文档对象模型)节点上,因此您必须首先转换为该变量才能使用此方法 var div = document.createElement('div'); div.innerHTML = str; var domNode = div.fi

我在javascript中有以下字符串

str = '<a href="/display/1">This is link</a>';

但是获取未定义的字符串不是DOM对象。 您拥有的变量-
str
是一个字符串,innerHTML属性仅存在于DOM(文档对象模型)节点上,因此您必须首先转换为该变量才能使用此方法

var div = document.createElement('div');
div.innerHTML = str;
var domNode = div.firstChild;

var textYouWant = domNode.innerHTML;

或者使用jQuery

$(str).html();

在PrototypeJS中,您可以使用以下函数:

'a <a href="#">link</a>'.stripTags();
 // -> 'a link'
 'a <a href="#">link</a><script>alert("hello world!");</script>'.stripTags();
// -> 'a linkalert("hello world!");'
 'a <a href="#">link</a><script>alert("hello world!");</script>'.stripScripts().stripTags();
// -> 'a link'
'a'.stripTags();
//->“链接”
“警报(“你好,世界!”);”。stripTags();
//->“链接警报(“你好,世界!”);”
“警报(“你好,世界!”);”。stripScripts().stripTags();
//->“链接”

Prototype的
stripTags()
将完成这项工作,但根据您的要求,您可能不希望实际删除所有HTML标记。例如,如果您的标记中有一个标记,
stripTags()
也将删除该标记。下面是如何在纯JavaScript中使用正则表达式执行此操作:

function textFromLink(linkText) {
    return linkText.replace(/.*<a[^>]*>\s*(.+)\s*<\/a>.*/, '$1');
}
函数textFromLink(linkText){
返回linkText.replace(/.*]*>\s*(.+)\s***/,“$1”);
}

上面的函数将返回标记的内容,去掉空白,而不触及标记内的其他标记。

oh ok。所以这个答案是纯javascript?是的,这里没有框架,尽管jQuery更简单-
$(str).html()
(抱歉,不是原型用户)看起来元素类是原型中的朋友-
function textFromLink(linkText) {
    return linkText.replace(/.*<a[^>]*>\s*(.+)\s*<\/a>.*/, '$1');
}