This commit is contained in:
21
node_modules/xml-utils/get-attribute.mjs
generated
vendored
Normal file
21
node_modules/xml-utils/get-attribute.mjs
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
export default function getAttribute(tag, attributeName, options) {
|
||||
const debug = (options && options.debug) || false;
|
||||
if (debug) console.log("[xml-utils] getting " + attributeName + " in " + tag);
|
||||
|
||||
const xml = typeof tag === "object" ? tag.outer : tag;
|
||||
|
||||
// only search for attributes in the opening tag
|
||||
const opening = xml.slice(0, xml.indexOf(">") + 1);
|
||||
|
||||
const quotechars = ['"', "'"];
|
||||
for (let i = 0; i < quotechars.length; i++) {
|
||||
const char = quotechars[i];
|
||||
const pattern = attributeName + "\\=" + char + "([^" + char + "]*)" + char;
|
||||
if (debug) console.log("[xml-utils] pattern:", pattern);
|
||||
|
||||
const re = new RegExp(pattern);
|
||||
const match = re.exec(opening);
|
||||
if (debug) console.log("[xml-utils] match:", match);
|
||||
if (match) return match[1];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user