gpt4 book ai didi

javascript - 我应该使用什么正则表达式来获取 css 类的内容并存储它们?

转载 作者:行者123 更新时间:2023-12-03 05:50:12 24 4
gpt4 key购买 nike

您好,我创建了一个文本框来复制 PDF 中的内容并接受富文本格式的内容。

<html>
<head>
<link rel="stylesheet" type="text/css" href="Theme.css">
</head>
<body>
<div>
<textarea id="ta" onpaste="functionItalic(event)" class="foostyle2"></textarea>
</div>
<div>
<span style="font-weight: bolder; font-size: 20px;">
<span id="1">Karan's</span>
</span>
<span style="font-weight: bolder; font-size: 24px; font-style: italic;">test</span>
</div>
<script>
function functionItalic(pasteEvent)
{
var textareacont = (pasteEvent.originalEvent || pasteEvent).clipboardData.getData("text/html");
console.log(textareacont);
}
</script>
</body>
</html>

当我在控制台上打印内容时(内容是对于防烟装配座椅,常见),我发现PDF中的内容包含这样的css类和html标签

注意:此代码是在执行 console.log(textareacont); 时获得的 对于防烟装配座椅,常见的

CSS Tweaking.html (line 19)

<html>
<head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><style>
<!--
br
{
mso-data-placement:same-cell;
}
table
{
mso-displayed-decimal-separator:"\.";
mso-displayed-thousand-separator:"\, ";
}
tr
{
mso-height-source:auto;
mso-ruby-visibility:none;
}
td
{
border:.5pt solid windowtext;
}
.NormalTable{cellspacing:0;cellpadding:10;border-collapse:collapse;mso-table-layout-alt:fixed;border:none; mso-border-alt:solid windowtext .75pt;mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-border-insideh:.75pt solid windowtext;mso-border-insidev:.75pt solid windowtext}
.fontstyle0
{
font-family:Times-Roman;
font-size:10pt;
font-style:normal;
font-weight:normal;
color:rgb(0,0,0);
}
.fontstyle1
{
font-size:12pt;
font-style:normal;
font-weight:normal;
color:rgb(0,0,0);
}
.fontstyle2
{
font-family:Times-Italic;
font-size:10pt;
font-style:italic;
font-weight:normal;
color:rgb(0,0,0);
}
-->
</style></head><body>
<!--StartFragment-->
<span class="fontstyle0">For </span><span class="fontstyle2">smoke-protected assembly seating</span><span class="fontstyle0">, the </span><span class="fontstyle2">common</span>
<br style=" font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; ">
<!--EndFragment-->
</body>
</html>

我想要的是我想要以字符串格式获取名称为.fontstyle1,.fontstyle2,.fontstyle3的css类的属性,有人说这可以通过RegEx来实现有人能告诉我吗我需要使用什么正则表达式来将 .fontstyle 类存储在字符串中。我尝试了一些,但没有效果。 换行符、回车符和制表符仅是出现在类中的字符串的一部分。

如果有人知道在字符串中存储 .fontstyle 类内容的另一种方法。请帮助我对正则表达式了解不多。

最佳答案

1。您可以使用这个正则表达式

/\.fontstyle\d+\s*\{[\w\s-:;,()]*\}/g

我不确定我是否提供了太多帮助,但因为它已经编码了......

    // The regular expression
var regularExp = /\.fontstyle\d+\s*\{[\w\s-:;,()]*\}/g;
var match;
// .fontstyle will be stored in fontstyle_list[]
var fontstyle_list = [];

// Finds all match
while (match = regularExp.exec(/*The css file (converted to string) should go here*/)) {
// Adds every match into fontstyle_list
fontstyle_list.push(match[0]);
}

// Iterate through every element in fontstyle_list
for (var i in fontstyle_list){
// prints out each .fontstyle{}
document.write(fontstyle_list[i] + "<br />"); // document.write() is unsafe and should only be used for testing

// add your codes here

}

2。或者

您可以先将 css 解析为对象,然后再使用子字符串检索以 '.fontstyle' 开头的每个元素

  1. 将 css 解析为对象。引用https://stackoverflow.com/a/14865690/6943913
  2. 迭代第 1 步中对象的所有元素
  3. 对于步骤 2 中的每个元素,执行 <eachElement>.substring(0, 10) === ".fontstyle"
  4. 对于第 3 步中返回 true 的每个操作,将元素复制到另一个列表中

*免责声明:以上步骤只是为了说明程序逻辑,可能需要进行一些调整以适应实际场景

关于javascript - 我应该使用什么正则表达式来获取 css 类的内容并存储它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40187708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com