ホームページ >ウェブフロントエンド >jsチュートリアル >ContainsIn 関数を使用して大文字と小文字を区別しない XPath 検索を実行するにはどうすればよいですか?
大文字と小文字を区別しない XPath Contains
XPath では、contains() 関数は、次のように、ある文字列に別の文字列が含まれているかどうかを確認します。
/html/body//text()[contains(.,'test')]これは大文字と小文字が区別されます。つまり、「Test」、「TEST」、または「TesT」とは一致しません。大文字と小文字を区別しないようにするには、次の回避策を試してください。
/html/body//text()[ contains( translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'test' ) ]これにより、一致するかどうかを確認する前に、すべての大文字が対応する小文字に置き換えられます。ただし、既知の文字セットに限定されます。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>これにより、アルファベットの事前知識がなくても、大文字と小文字を区別せずに検索文字列を照合できます。ただし、どちらのオプションも検索文字列の一重引用符に問題があります。
以上がContainsIn 関数を使用して大文字と小文字を区別しない XPath 検索を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。