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
将字符串转换为link-javascript_Javascript_String - Fatal编程技术网

将字符串转换为link-javascript

将字符串转换为link-javascript,javascript,string,Javascript,String,我有一个json响应 Indicator:true content:"<a href=somelink target="_blank">Click here to open your message</a>" 可以使用直接在React中呈现HTML代码 createMarkup(content) { return {__html: content}; } convertFn(content) { return <div dangerouslySetInn

我有一个json响应

Indicator:true
content:"<a href=somelink target="_blank">Click here to open your message</a>"
可以使用直接在React中呈现HTML代码

createMarkup(content) {
  return {__html: content};
}

convertFn(content) {
  return <div dangerouslySetInnerHTML={createMarkup(content)} />;
}

getLink(){
   ... get json response ...
   let content = res.content;
   let linkContent = this.convertFn(content);
}
createMarkup(内容){
返回{uuuhtml:content};
}
转换器fn(内容){
回来
}
getLink(){
…获取json响应。。。
让content=res.content;
设linkContent=this.convertFn(content);
}

编辑:这是一个React.js特定示例。

原因是引号符号。您的字符串以target结尾。 您应该将
somelink
\u blank
放在引号内,引号与您放在整个内容中的引号不同 例:

content=''

content=“”
编辑: 有些人误解了我的意思,因为他没有在somelink之外加引号。 不是这样的。 查看目标。为什么
\u是空白的
是黑色的,而其余的内容是红色的? 这里使用的引号类型很重要。或者可以转义

content = "<a href=\"somelink\" target=\"_blank\">Click here to open your message</a>"
content=“”

请安装Prettier以获得编辑器帮助。

我发现您的代码运行良好,如以下代码片段所示

let content='';
var wrapper=document.createElement('div');
wrapper.innerHTML=''+内容+''//不需要放在div里
设div2=wrapper.firstChild;
设a=div2.firstChild;
console.log(a.innerText)

log(a.getAttribute('href')、a.getAttribute('target')
使用
危险的html
属性将字符串中存储的任何html转换为实际的html标记

例如

htmlToText(content) {
  return {__html: content};
}

render() {
    return (
        <div dangerouslySetInnertml={this.htmlToText(yourHtmlString)} />
    )
}
HTMLTOXT(内容){
返回{uuuhtml:content};
}
render(){
返回(
)
}

你所说的“不工作”是什么意思?尝试了
wrapper.innerHTML=content?并直接使用该包装器?请显示所有相关代码和正确的数据结构。显示的内容有不匹配的引号,无法运行。请看“不”,这不是重点。。链接引号与此无关。它与此无关。毕竟字符串实际上在目标处结束,并在空白后恢复,因此中间的部分被视为非字符串,这会导致问题字符串很长。。出于这个原因,我把它缩短了,那么引号是如何影响长度的呢?你是不是在想我说的是你放了一些链接而不是实际的链接?我不是,请再读一遍答案。
somelink
是我放的假文本。。它与引号有着本质的联系。。所以这是不可能的context@raksheetbhat您在哪里传递
createMarkup()
中的内容?OP没有使用React,因此我认为这不相关。这不是问题的答案,应该是注释
content="<a href='somelink' target='_blank'></a>"
content = "<a href=\"somelink\" target=\"_blank\">Click here to open your message</a>"
htmlToText(content) {
  return {__html: content};
}

render() {
    return (
        <div dangerouslySetInnertml={this.htmlToText(yourHtmlString)} />
    )
}