3
Ich habe diese Anforderung, dass ich URL in CSS ersetzen müssen, haben so weit ich diesen Code, der die Regeln einer CSS-Datei anzuzeigen:Ersetzen URL in einem CSS mit CSS-Parser und Regex (Java)
@Override
public void parse(String document) {
log.info("Parsing CSS: " + document);
this.document = document;
InputSource source = new InputSource(new StringReader(this.document));
try {
CSSStyleSheet stylesheet = parser.parseStyleSheet(source, null, null);
CSSRuleList ruleList = stylesheet.getCssRules();
log.info("Number of rules: " + ruleList.getLength());
// lets examine the stylesheet contents
for (int i = 0; i < ruleList.getLength(); i++)
{
CSSRule rule = ruleList.item(i);
if (rule instanceof CSSStyleRule) {
CSSStyleRule styleRule=(CSSStyleRule)rule;
log.info("selector: " + styleRule.getSelectorText());
CSSStyleDeclaration styleDeclaration = styleRule.getStyle();
//assertEquals(1, styleDeclaration.getLength());
for (int j = 0; j < styleDeclaration.getLength(); j++) {
String property = styleDeclaration.item(j);
log.info("property: " + property);
log.info("value: " + styleDeclaration.getPropertyCSSValue(property).getCssText());
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
ich bin aber nicht sicher, ob, wie man tatsächlich die URL ersetzen, da es nicht viel eine Dokumentation über CSS Parser
Was genau wollen Sie ersetzen? Gibt es eine bestimmte URL-Zeichenfolge, die Sie an jede URL anhängen möchten? Oder möchten Sie einen Teil jeder URL im CSS ersetzen? –
Ich muss einen Teil der URL ersetzen – xybrek
nur neugierig: zu welcher API gehören CSSRuleList, CSSRule und CSSStyleSheet? – amphibient