대소문자를 구분하지 않는 XPath Contains
XPath에서 Contains() 함수는 다음과 같이 한 문자열에 다른 문자열이 포함되어 있는지 확인합니다.
/html/body//text()[contains(.,'test')]
대소문자를 구분합니다. 즉, "Test", "TEST" 또는 "TesT"와 일치하지 않습니다. 대소문자를 구분하지 않으려면 다음 해결 방법을 시도해 보세요.
/html/body//text()[ contains( translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'test' ) ]
이 방법은 일치 항목을 확인하기 전에 모든 대문자를 소문자로 바꿉니다. 그러나 알려진 문자 집합으로 제한됩니다.
자바스크립트를 활용하는 대체 방법은 다음과 같습니다.
<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!