preg_filter는 패턴이 입력 문자열과 일치하고 일치하는 부분을 대체하는 정규 표현식 기능입니다. 다른 정규 표현 함수와 달리 preg_filter는 preg_match 와 같은 컨텐츠와 일치하는 대신 대체 결과를 반환합니다.
<span><span><span class="hljs-title function_ invoke__">preg_filter</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$replacement</span></span><span>, </span><span><span class="hljs-variable">$subject</span></span><span>);
</span></span>$ 패턴 : 정규 표현 패턴.
$ 교체 : 교체 문자열.
$ 제목 : 작업이 필요한 문자열 또는 배열.
기능 익스플로잇 :
주어진 분리기에 따라 폭발이 줄을 부품으로 분할하는 데 사용됩니다. 배열을 반환하고 각 요소는 분할 하위 문자입니다.
<span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-variable">$delimiter</span></span><span>, </span><span><span class="hljs-variable">$string</span></span><span>);
</span></span>$ Delimiter : Delimiter.
$ string : 분할 될 문자열입니다.
실제 개발에서, preg_filter 와 익스플로잇 함수의 조합으로 사용 된 시나리오는 주로 정기적 인 표현식을 사용하여 불필요한 부품을 필터링하거나 교체하는 동안 문자열을 분할하는 데 중점을 둡니다. 다음은 몇 가지 일반적인 응용 프로그램 시나리오입니다.
우리가 다른 기호 (쉼표, 세미콜론 등)로 구분 된 문자열이 있다고 가정하고 유효하지 않은 부분을 제거하여 배열로 나누고 싶습니다. 현재 Preg_Filter를 사용하여 불필요한 부품을 필터링 한 다음 Exploit 기능을 사용하여 분할 할 수 있습니다.
<span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"apple, ,banana;,,orange;grape"</span></span><span>;
</span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">'/\s*[,;]\s*/'</span></span><span>; </span><span><span class="hljs-comment">// 정규 표현식은 불필요한 분리기를 제거합니다</span></span><span>
</span><span><span class="hljs-comment">// 사용preg_filter공간과 중복 분리기를 정리하십시오</span></span><span>
</span><span><span class="hljs-variable">$cleanedString</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_filter</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-string">','</span></span><span>, </span><span><span class="hljs-variable">$string</span></span><span>);
</span><span><span class="hljs-variable">$items</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-string">','</span></span><span>, </span><span><span class="hljs-variable">$cleanedString</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$items</span></span><span>);
</span></span>출력 결과 :
<span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[</span><span><span class="hljs-number">0</span></span><span>] => apple
[</span><span><span class="hljs-number">1</span></span><span>] => banana
[</span><span><span class="hljs-number">2</span></span><span>] => orange
[</span><span><span class="hljs-number">3</span></span><span>] => grape
)
</span></span>이 예에서 preg_filter는 먼저 스트링에서 불필요한 공간과 중복 분리기 (예 : 다중 쉼표 또는 세미콜론)를 제거한 다음, 정리 된 문자열을 Exploit을 통해 배열로 나눕니다.
때때로 우리는 복잡한 패턴으로 나누어야합니다. preg_filter는 문자열을 전처리하는 데 사용한 다음 간단한 분할을 위해 익스플로잇을 사용할 수 있습니다. 이 방법은 일부 복잡한 문자열 형식에 매우 적합합니다.
<span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"item1:apple, item2:banana; item3:orange"</span></span><span>;
</span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">'/[;\s]+/'</span></span><span>; </span><span><span class="hljs-comment">// 세미콜론 또는 공백 문자를 일치시킵니다</span></span><span>
</span><span><span class="hljs-comment">// 사용preg_filter불필요한 공간과 분리기를 제거하십시오</span></span><span>
</span><span><span class="hljs-variable">$cleanedString</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_filter</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-string">' '</span></span><span>, </span><span><span class="hljs-variable">$string</span></span><span>);
</span><span><span class="hljs-variable">$items</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-string">' '</span></span><span>, </span><span><span class="hljs-variable">$cleanedString</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$items</span></span><span>);
</span></span>출력 결과 :
<span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[</span><span><span class="hljs-number">0</span></span><span>] => </span><span><span class="hljs-attr">item1</span></span><span>:apple
[</span><span><span class="hljs-number">1</span></span><span>] => </span><span><span class="hljs-attr">item2</span></span><span>:banana
[</span><span><span class="hljs-number">2</span></span><span>] => </span><span><span class="hljs-attr">item3</span></span><span>:orange
)
</span></span>여기서 Preg_filter는 구분 제고기 (예 : 세미콜론 및 공백 문자)를 공간으로 교체하는 데 사용됩니다. 그런 다음 Exploit 기능을 통해 구분자로 공백으로 문자열을 배열로 나누십시오.
preg_filter 와 익스플로잇 함수를 결합함으로써 정규식을 처리 할 때 정규 표현식의 힘을 완전히 활용할 수 있으며, 정규 경기에 대한 여러 통화를 피할 수 있습니다. 이 접근법의 장점은 다음과 같습니다.
데이터 정리 : preg_filter를 사용하여 불필요한 부품을 필터링하고 불규칙한 문자 또는 형식 오류의 영향을 줄입니다.
가독성 향상 : 코드는 간결하고 논리가 명확합니다. 먼저 데이터를 청소 한 다음 분할하여 더 직관적입니다.
효율성 향상 : 경우에 따라 여러 정기 작업을 피하고 처리 속도가 향상됩니다.
preg_filter 및 익스플로잇 기능을 사용하면 개발자가 복잡한 문자열 및 배열 데이터를보다 효율적으로 처리하는 데 도움이 될 수 있습니다. 정규 표현식의 강력한 기능을 통해 데이터를 처리하는 과정에서 초과 부품을 필터링하여 분할 데이터가 더 깨끗하고 효과적임을 확인할 수 있습니다. 이 두 가지의 조합을 마스터하면 PHP 개발을위한 강력한 데이터 처리 기능이 제공됩니다.
관련 태그:
explode