Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/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 如何在使用危险的HTML呈现内容时禁用React中的链接?_Javascript_Reactjs - Fatal编程技术网

Javascript 如何在使用危险的HTML呈现内容时禁用React中的链接?

Javascript 如何在使用危险的HTML呈现内容时禁用React中的链接?,javascript,reactjs,Javascript,Reactjs,我正在使用React建立一个网站,用户可以键入或复制文本,例如从维基百科输入 主要问题是复制的文本呈现为html,因此我使用危险的SetinenerHTML修复了该问题,并使用DOMPurify这样保护它 <Typography variant="body" dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(item.label) }} /> 问题是,我不希望

我正在使用React建立一个网站,用户可以键入或复制文本,例如从维基百科输入

主要问题是复制的文本呈现为html,因此我使用
危险的SetinenerHTML
修复了该问题,并使用
DOMPurify
这样保护它

<Typography variant="body"
      dangerouslySetInnerHTML={{
         __html: DOMPurify.sanitize(item.label)
      }}
/>

问题是,我不希望在以后呈现该类型文本时链接和重定向该文本


如何解决此问题?

如果我假设您的
项.label
值类似于:

<div>
  Hello world
  <a href="wikipedia.com">Here is the explanation</a>
</div>

你好,世界
我能想到的唯一方法就是使用

诸如此类:

let str=“Hello world”;
const result=str.replace(/(href=[“'])([A-Za-z-\\\\\/:.]*)([“]])/ig,”;
控制台日志(结果);
//您也可以将网站替换为“#”,以保持链接效果,但保持在同一页面:
const result2=str.replace(/(href=[“'])([A-Za-z-\\\\\/:.]*)([“'])/ig,“$1\\$3”);
console.log(result2);
//甚至删除链接本身:

const temp=str.replace(/(你能添加一个
项.标签
值的例子吗?你是对的,但我想要更简单的东西,结果是
domprify
有这样的东西
禁止属性
。谢谢。