웹 개발에서 URL에서 도메인 이름을 추출하는 것이 일반적인 요구 사항입니다. PHP는 문자열을 조작하는 데 도움이되는 많은 기능을 제공하며 STRSTR 함수를 사용하여 URL에서 도메인 이름을 추출하고 조작 할 수 있습니다. 오늘 우리는 Strist를 사용 하여이 목표를 달성하는 방법에 대해 논의 할 것입니다.
Strrrist 는 PHP의 문자열 함수로 문자열이 먼저 나타나는 위치를 찾아서 해당 위치에서 문자열 끝까지 모든 것을 반환합니다. STRPO 와 달리 STRPO는 DOMAIN 이름이 대부분의 경우 대소 문자를 사용하지 않기 때문에 URL에서 도메인 이름을 처리하는 데 특히 편리한 경우를 무시합니다.
<span><span><span class="hljs-title function_ invoke__">stristr</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$needle</span></span><span>, </span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-variable">$before_needle</span></span><span> = </span><span><span class="hljs-literal">false</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
$ haystack : 대상 문자열, 일반적으로 정보를 추출하려는 URL.
$ 니들 : 검색 할 부분 문자열, 여기서 우리는 도메인 이름의 시작 위치를 결정하는 데 도움이되도록 ": //"를 사용합니다.
$ prever_needle : 선택적 매개 변수. true 로 설정된 경우 일치하는 부분 전에 컨텐츠를 반환하십시오. false (기본값) 인 경우 일치하는 부분과 그 다음에 컨텐츠를 반환하십시오.
다음으로 URL에서 도메인 이름을 예제로 추출하여 Strrist 의 실제 적용을 소개합니다. 다음 URL이 있다고 가정합니다.
<span><span><span class="hljs-variable">$url</span></span><span> = </span><span><span class="hljs-string">"https://www.example.com/path/to/page?query=123"</span></span><span>;
</span></span>
이 URL, 즉 www.example.com 에서 도메인 이름 부분을 추출하려고합니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$url</span></span><span> = </span><span><span class="hljs-string">"https://www.example.com/path/to/page?query=123"</span></span><span>;
</span><span><span class="hljs-comment">// 사용 stristr 찾다 '://' 후자의 부분</span></span><span>
</span><span><span class="hljs-variable">$domain_part</span></span><span> = </span><span><span class="hljs-title function_ invoke__">stristr</span></span><span>(</span><span><span class="hljs-variable">$url</span></span><span>, </span><span><span class="hljs-string">'://'</span></span><span>);
</span><span><span class="hljs-comment">// 발견 된 경우,제거하다 '://' 그리고 경로 부분</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$domain_part</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-comment">// 제거하다 '://' 첫 번째를 가로 채립니다 '/' 이전 부분</span></span><span>
</span><span><span class="hljs-variable">$domain</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$domain_part</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$domain_part</span></span><span>, </span><span><span class="hljs-string">'/'</span></span><span>) - </span><span><span class="hljs-number">3</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"도메인 이름은입니다: "</span></span><span> . </span><span><span class="hljs-variable">$domain</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"URL 잘못된 형식"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
strrrist ($ url, ': //') : 먼저 strristr를 사용 하여 다음을 찾습니다. Strrist는 다음 섹션에서 // 이후에 부분을 반환합니다. 찾을 수없는 경우 False를 반환합니다.
substr ($ domain_part, 3, strpos ($ domain_part, '/') -3) : //를 찾은 후, 우리는 domain 이름 부분을 substr 및 strpos를 통해 가로 채 웁니다. Substr은 다음과 같은 다음으로 제 3자를 가로 채기 시작합니다 . // URL에 첫 번째 / 나타날 때까지.
echo "도메인 이름은 :". $ 도메인; : 마지막으로 추출 된 도메인 이름을 출력하십시오.
URL 형식 : 입력 한 URL이 합법적이며 사양을 준수한다고 가정합니다. URL에 : // , strrrist는 제대로 작동하지 않습니다. 따라서 URL을 처리 할 때는 먼저 URL을 확인하거나 예외 처리 로직을 추가하는 것이 가장 좋습니다.
하위 도메인 이름 문제 : URL에 Blog.example.com 과 같은 하위 도메인 이름이 포함 된 경우 위 코드는 여전히 전체 도메인 이름 (하위 도메인 이름 포함)을 올바르게 추출 할 수 있습니다.
다른 프로토콜 : URL이 다른 프로토콜 (예 : http , https , ftp )을 사용하는 경우 Strrist 도 사례를 무시하기 때문에 적용됩니다.
Strrist 기능을 사용하여 URL에서 도메인 이름을 추출하는 것은 쉽고 효율적인 방법입니다. strrristr 와 substr을 결합하여 도메인 이름 부분을 쉽게 찾아서 필요한 정보를 추출 할 수 있습니다. 실제 개발 에서이 방법은 경로 및 쿼리 매개 변수를 포함하는 URL을 처리하는 동시에 사례 무지를 보장하는 데 매우 적합합니다.
관련 태그:
URL