js 获取当前字符串svg标签和内容mjx-container class=MathJax CtxtMenu_Attached_0 jax=SVG tabindex=0 ctxtmenu_counter=97 style=position relative;svg xmlns=httpwwww3org2000svg width=11893ex height=2072ex role=img focu
要获取当前字符串中的SVG标签和内容,你可以使用正则表达式来提取。
以下是一个示例代码,演示如何使用正则表达式获取SVG标签和内容:
const str = '<mjx-container class="MathJax CtxtMenu_Attached_0" jax="SVG" tabindex="0" ctxtmenu_counter="97" style="position: relative;"><svg xmlns="http://www.w3.org/2000/svg" width="11.893ex" height="2.072ex" role="img" focusable="false" viewBox="0 -833.9 5256.7 915.9" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" style="vertical-align: -0.186ex;"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msup"><g data-mml-node="mi"><use data-c="1D44E" xlink:href="#MJX-TEX-I-1D44E"></use></g><g data-mml-node="mn" transform="translate(562,363) scale(0.707)"><use data-c="32" xlink:href="#MJX-TEX-N-32"></use></g></g><g data-mml-node="mo" transform="translate(1187.8,0)"><use data-c="2B" xlink:href="#MJX-TEX-N-2B"></use></g><g data-mml-node="msup" transform="translate(2188,0)"><g data-mml-node="mi"><use data-c="1D44F" xlink:href="#MJX-TEX-I-1D44F"></use></g><g data-mml-node="mn" transform="translate(462,363) scale(0.707)"><use data-c="32" xlink:href="#MJX-TEX-N-32"></use></g></g><g data-mml-node="mo" transform="translate(3331.3,0)"><use data-c="3D" xlink:href="#MJX-TEX-N-3D"></use></g><g data-mml-node="msup" transform="translate(4387.1,0)"><g data-mml-node="mi"><use data-c="1D450" xlink:href="#MJX-TEX-I-1D450"></use></g><g data-mml-node="mn" transform="translate(466,363) scale(0.707)"><use data-c="32" xlink:href="#MJX-TEX-N-32"></use></g></g></g></g></svg></mjx-container>';
const regex = /<svg[^>]*>([\s\S]*?)<\/svg>/;
const match = str.match(regex);
if (match) {
const svgTag = match[0]; // 获取SVG标签
const svgContent = match[1]; // 获取SVG内容
console.log(svgTag);
console.log(svgContent);
}
在上面的代码中,我们使用了正则表达式/<svg[^>]*>([\s\S]*?)<\/svg>/来匹配字符串中的SVG标签和内容。然后使用match方法来获取匹配结果,并将结果存储在svgTag和svgContent变量中。
运行上述代码,你将会得到以下输出:
<svg xmlns="http://www.w3.org/2000/svg" width="11.893ex" height="2.072ex" role="img" focusable="false" viewBox="0 -833.9 5256.7 915.9" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" style="vertical-align: -0.186ex;"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msup"><g data-mml-node="mi"><use data-c="1D44E" xlink:href="#MJX-TEX-I-1D44E"></use></g><g data-mml-node="mn" transform="translate(562,363) scale(0.707)"><use data-c="32" xlink:href="#MJX-TEX-N-32"></use></g></g><g data-mml-node="mo" transform="translate(1187.8,0)"><use data-c="2B" xlink:href="#MJX-TEX-N-2B"></use></g><g data-mml-node="msup" transform="translate(2188,0)"><g data-mml-node="mi"><use data-c="1D44F" xlink:href="#MJX-TEX-I-1D44F"></use></g><g data-mml-node="mn" transform="translate(462,363) scale(0.707)"><use data-c="32" xlink:href="#MJX-TEX-N-32"></use></g></g><g data-mml-node="mo" transform="translate(3331.3,0)"><use data-c="3D" xlink:href="#MJX-TEX-N-3D"></use></g><g data-mml-node="msup" transform="translate(4387.1,0)"><g data-mml-node="mi"><use data-c="1D450" xlink:href="#MJX-TEX-I-1D450"></use></g><g data-mml-node="mn" transform="translate(466,363) scale(0.707)"><use data-c="32" xlink:href="#MJX-TEX-N-32"></use></g></g></g></g></svg>
<g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msup"><g data-mml-node="mi"><use data-c="1D44E" xlink:href="#MJX-TEX-I-1D44E"></use></g><g data-mml-node="mn" transform="translate(562,363) scale(0.707)"><use data-c="32" xlink:href="#MJX-TEX-N-32"></use></g></g><g data-mml-node="mo" transform="translate(1187.8,0)"><use data-c="2B" xlink:href="#MJX-TEX-N-2B"></use></g><g data-mml-node="msup" transform="translate(2188,0)"><g data-mml-node="mi"><use data-c="1D44F" xlink:href="#MJX-TEX-I-1D44F"></use></g><g data-mml-node="mn" transform="translate(462,363) scale(0.707)"><use data-c="32" xlink:href="#MJX-TEX-N-32"></use></g></g><g data-mml-node="mo" transform="translate(3331.3,0)"><use data-c="3D" xlink:href="#MJX-TEX-N-3D"></use></g><g data-mml-node="msup" transform="translate(4387.1,0)"><g data-mml-node="mi"><use data-c="1D450" xlink:href="#MJX-TEX-I-1D450"></use></g><g data-mml-node="mn" transform="translate(466,363) scale(0.707)"><use data-c="32" xlink:href="#MJX-TEX-N-32"></use></g></g></g></g>
其中,svgTag变量包含了完整的SVG标签,svgContent变量包含了SVG的内容。
原文地址: https://www.cveoy.top/t/topic/ikUB 著作权归作者所有。请勿转载和采集!