Heim >Web-Frontend >js-Tutorial >Kann die Groß-/Kleinschreibung bei XPath-Abfragen mithilfe von „contains()' ignoriert werden?
XPath ohne Berücksichtigung der Groß-/Kleinschreibung contains()Funktion
Frage:
Kann bei XPath-Abfragen die Groß-/Kleinschreibung nicht berücksichtigt werden, wenn die Funktion contains() zum Suchen nach Textknoten verwendet wird?
Antwort:
Ja , Groß-/Kleinschreibung berücksichtigende XPath-Abfragen sind mit den folgenden Techniken möglich:
Mit translate() und contains():
Diese Methode beinhaltet die Übersetzung des Knotenwerts und der Suchzeichenfolge in Kleinbuchstaben, bevor die Funktion contains() verwendet wird:
/html/body//text()[ contains( translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'test' ) ]
Verwenden der Host-Sprache zum Erstellen eines dynamischen XPath-Ausdrucks:
Erstellen Sie nach Möglichkeit einen dynamischen XPath-Ausdruck mit einer Hostsprache wie JavaScript:
<code class="javascript">function xpathPrepare(xpath, searchString) { return xpath.replace("$u", searchString.toUpperCase()) .replace("$l", searchString.toLowerCase()) .replace("$s", searchString.toLowerCase()); } xp = xpathPrepare("//text()[contains(translate(., '$u', '$l'), '$s')]", "Test");</code>
Diese Methode übersetzt nur die erforderlichen Zeichen in der Suchzeichenfolge, sodass sie für alle geeignet ist Suchbegriff.
Überlegungen:
Das obige ist der detaillierte Inhalt vonKann die Groß-/Kleinschreibung bei XPath-Abfragen mithilfe von „contains()' ignoriert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!