사용자 입력에서 URL 감지
PHP에서 사용자가 입력한 문자열에 사전 정의된 배열의 URL이 포함되어 있는지 확인하는 방법은 다음과 같습니다.
한 가지 접근 방식은 PHP의 in_array() 함수를 활용하는 것입니다. 그러나 제공된 코드에서는 문자열 요소와 배열 요소 간의 불일치로 인해 비교가 실패합니다. 문자열에는 더 큰 문장의 일부로 URL이 포함되어 있지만 배열 요소는 기본 URL일 뿐입니다.
대안 방법으로는 URL 배열을 반복하고 PHP의 strpos를 사용하여 각 URL이 문자열 내에 있는지 확인하는 것입니다. () 기능. 문자열 내에서 URL이 발견되면 함수는 일치를 나타내는 FALSE가 아닌 값을 반환합니다.
수정된 코드는 다음과 같습니다.
<code class="php">$string = 'my domain name is website3.com'; foreach ($owned_urls as $url) { if (strpos($string, $url) !== FALSE) { echo "Match found"; return true; } } echo "Not found!"; return false;</code>
또는 PHP의 strstr() 함수는 다음을 수행할 수 있습니다. 대소문자를 구분하지 않는 비교에 사용됩니다. 그러나 일반적으로 더 나은 성능을 위해 strpos()가 선호됩니다.
대소문자를 구분하지 않고 비교하려면 스크립트를 다음과 같이 수정할 수 있습니다.
<code class="php">if ( stripos($string, $url) !== FALSE ) { // ... }</code>
위 내용은 사용자 입력에서 URL을 감지하고 이를 PHP의 미리 정의된 배열과 비교하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!