현재 위치: > 최신 기사 목록> substr_count 함수를 사용할 때 하위 문자열 계산을 위해 특정 부품을 건너 뛰는 방법은 무엇입니까?

substr_count 함수를 사용할 때 하위 문자열 계산을 위해 특정 부품을 건너 뛰는 방법은 무엇입니까?

gitbox 2025-09-19
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 독립적 인 예</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"이것은 독립적 인 출력입니다,분리 효과를 입증하는 데 사용됩니다。\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"기사의 내용과 관련이 없습니다PHP코드 예제。\n"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/*
기사 제목: 사용하는 방법substr_count기능 시점 계수를 위해 특정 부품을 건너 뜁니다?
*/</span>

</span><span><span class="hljs-comment">// PHP가운데,substr_count函数用于统计一个字符串가운데某个子串出现的次数。</span></span><span>
</span><span><span class="hljs-comment">// 문법: substr_count(string $haystack, string $needle, int $offset = 0, int $length = ?): int</span></span><span>

</span><span><span class="hljs-comment">// 문제는입니다:때때로 우리는 발생할 하위 스트링 수를 세고 싶어합니다.,특정 부분에 대한 문자열을 건너 뜁니다。</span></span><span>
</span><span><span class="hljs-comment">// 예를 들어,我们想统计字符串가운데“apple”수의 수,그러나 사각형 괄호로 싸인 부품을 계산하고 싶지 않습니다. "[apple]"。</span></span><span>

</span><span><span class="hljs-comment">// 샘플 문자열:</span></span><span>
</span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-string">"apple [apple] apple (apple) apple"</span></span><span>;

</span><span><span class="hljs-comment">// 일반 통계:</span></span><span>
</span><span><span class="hljs-variable">$total_count</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr_count</span></span><span>(</span><span><span class="hljs-variable">$text</span></span><span>, </span><span><span class="hljs-string">"apple"</span></span><span>);
</span><span><span class="hljs-comment">// 출력 결과: 5(사각형 브래킷 포함apple)</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"일반 통계: <span class="hljs-subst">$total_count</span></span></span><span>\n";

</span><span><span class="hljs-comment">// 방법1:규칙을 사용하여 특정 부품을 제외하십시오</span></span><span>
</span><span><span class="hljs-comment">// 먼저 사용할 수 있습니다preg_replace계산하고 싶지 않은 부분을 제거하십시오,그런 다음 다시 사용하십시오substr_count</span></span><span>
</span><span><span class="hljs-variable">$cleaned_text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_replace</span></span><span>(</span><span><span class="hljs-string">'/\[.*?\]/'</span></span><span>, </span><span><span class="hljs-string">''</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>); </span><span><span class="hljs-comment">// 정사각형 괄호로 내용물을 제거하십시오</span></span><span>
</span><span><span class="hljs-variable">$count_exclude_brackets</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr_count</span></span><span>(</span><span><span class="hljs-variable">$cleaned_text</span></span><span>, </span><span><span class="hljs-string">"apple"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"정사각형 괄호 후 통계는 제외됩니다: <span class="hljs-subst">$count_exclude_brackets</span></span></span><span>\n";

</span><span><span class="hljs-comment">// 방법2:수동 세분화 및 통계</span></span><span>
</span><span><span class="hljs-comment">// 여러 모드를보다 유연하게 건너 뛰려면,먼저 문자열을 분할 할 수 있습니다,통계는 하나씩</span></span><span>
</span><span><span class="hljs-variable">$parts</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_split</span></span><span>(</span><span><span class="hljs-string">'/(\[.*?\])/'</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>); </span><span><span class="hljs-comment">// 정사각형 괄호로 나뉩니다</span></span><span>
</span><span><span class="hljs-variable">$count_manual</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$parts</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$part</span></span><span>) {
    </span><span><span class="hljs-variable">$count_manual</span></span><span> += </span><span><span class="hljs-title function_ invoke__">substr_count</span></span><span>(</span><span><span class="hljs-variable">$part</span></span><span>, </span><span><span class="hljs-string">"apple"</span></span><span>);
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"수동 세분화 통계 결과: <span class="hljs-subst">$count_manual</span></span></span><span>\n";

</span><span><span class="hljs-comment">// 요약:</span></span><span>
</span><span><span class="hljs-comment">// 1. substr_count함수 자체는 특정 영역을 직접 건너 뛸 수 없습니다,일반 또는 문자열 작업을 결합해야합니다。</span></span><span>
</span><span><span class="hljs-comment">// 2. 사용preg_replace去掉不计入的部分是常用방법。</span></span><span>
</span><span><span class="hljs-comment">// 3. 복잡한 요구,먼저 문자열을 분할 할 수 있습니다,세그먼트 별 통계,건너 뛰어야하는 지역의 유연한 제어。</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>
<hr> <? php // 꼬리 독립적 인 부분의 예 Echo "이것은 기사를 다른 내용과 분리하는 데 사용되는 꼬리 독립적 인 출력 예입니다. \ n"; ?>
 <span></span>