대소문자를 구분하지 않는 XPath의 contain() 함수
XPath에서 Contains() 함수는 대소문자를 구분합니다. 그러나 이 제한 사항을 해결할 수 있는 방법이 있습니다.
방법 1: 문자 번역
이 방법에는 하위 문자열을 확인하기 전에 문자를 소문자 또는 대문자로 번역하는 작업이 포함됩니다.
/html/body//text()[ contains( translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'test' ) ]
하위 문자열 "test"를 확인하기 전에 텍스트의 모든 대문자를 소문자로 변환합니다.
방법 2: 동적 XPath 표현식
JavaScript와 같은 스크립팅 언어를 사용하면 대소문자를 구분하지 않는 동적 XPath 표현식을 생성할 수 있습니다.
<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>
이렇게 하면 XPath 표현식의 자리 표시자가 검색 문자열의 대문자, 소문자 및 소문자 버전으로 대체됩니다.
추가 고려 사항
위 내용은 Contains() 함수를 사용하여 XPath에서 대소문자를 구분하지 않는 검색을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!