XPath-Funktion „enthält()“ ohne Berücksichtigung der Groß- und Kleinschreibung
In XPath wird bei der Funktion „enthält()“ die Groß-/Kleinschreibung beachtet. Es gibt jedoch Möglichkeiten, diese Einschränkung zu umgehen.
Methode 1: Zeichen übersetzen
Bei dieser Methode werden Zeichen in Klein- oder Großbuchstaben übersetzt, bevor nach der Teilzeichenfolge gesucht wird:
/html/body//text()[ contains( translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'test' ) ]
Dadurch werden alle Großbuchstaben im Text in Kleinbuchstaben umgewandelt, bevor nach der Teilzeichenfolge „test“ gesucht wird.
Methode 2: Dynamischer XPath-Ausdruck
Mit einer Skriptsprache wie JavaScript können Sie einen dynamischen XPath-Ausdruck erstellen, der die Groß-/Kleinschreibung berücksichtigt:
<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>
Dadurch werden Platzhalter im XPath-Ausdruck durch Großbuchstaben, Kleinbuchstaben und Kleinbuchstabenversionen der Suchzeichenfolge ersetzt.
Zusätzliche Überlegungen
Das obige ist der detaillierte Inhalt vonWie erreicht man in XPath eine Suche ohne Berücksichtigung der Groß-/Kleinschreibung mithilfe der Funktion „contains()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!