Position actuelle: Accueil> Derniers articles> Comment sauter des pièces spécifiques pour le comptage de substring lors de l'utilisation de la fonction substr_count?

Comment sauter des pièces spécifiques pour le comptage de substring lors de l'utilisation de la fonction substr_count?

gitbox 2025-09-19
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Exemple pré-indépendant</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"C&#39;est la sortie pré-indépendante,Utilisé pour démontrer les effets de séparation。\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Rien à voir avec le contenu de l&#39;articlePHPExemple de code。\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">/*
Titre d&#39;article: Comment l&#39;utilisersubstr_countIgnorez des pièces spécifiques pour le comptage de la sous-chaîne lorsque la fonction?
*/</span>

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

</span><span><span class="hljs-comment">// Le problème est:Parfois, nous voulons compter le nombre de sous-chaînes pour se produire,Sauter les chaînes pour certaines pièces spécifiques。</span></span><span>
</span><span><span class="hljs-comment">// Par exemple,我们想统计字符串milieu“apple”Nombre de,Mais je ne veux pas calculer la pièce enveloppée dans les crochets "[apple]"。</span></span><span>

</span><span><span class="hljs-comment">// Échantillonnage:</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">// Statistiques générales:</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">// Résultat de sortie: 5(Y compris les crochetsapple)</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Statistiques générales: <span class="hljs-subst">$total_count</span></span></span><span>\n";

</span><span><span class="hljs-comment">// méthode1:Exclure des pièces spécifiques en utilisant la régularité</span></span><span>
</span><span><span class="hljs-comment">// Nous pouvons l&#39;utiliser en premierpreg_replaceSupprimer la pièce que vous ne voulez pas compter,Puis utilisez-le à nouveausubstr_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">// Retirez le contenu entre crochets</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">"Les statistiques après les crochets sont exclues: <span class="hljs-subst">$count_exclude_brackets</span></span></span><span>\n";

</span><span><span class="hljs-comment">// méthode2:Segmentation manuelle et statistiques</span></span><span>
</span><span><span class="hljs-comment">// Si vous souhaitez sauter plusieurs modes de manière plus flexible,Vous pouvez d&#39;abord diviser la chaîne,Statistiques une par une</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">// Split en crochets</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">"Résultats des statistiques de segmentation manuelle: <span class="hljs-subst">$count_manual</span></span></span><span>\n";

</span><span><span class="hljs-comment">// Résumer:</span></span><span>
</span><span><span class="hljs-comment">// 1. substr_countLa fonction elle-même ne peut pas sauter directement les zones spécifiques,Besoin de combiner des opérations régulières ou de chaînes。</span></span><span>
</span><span><span class="hljs-comment">// 2. utiliserpreg_replace去掉不计入的部分是常用méthode。</span></span><span>
</span><span><span class="hljs-comment">// 3. Exigences complexes,Vous pouvez d&#39;abord diviser la chaîne,Statistiques par segment,Contrôle flexible des zones qui doivent être ignorées。</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>
<hr> <? Php // Exemple de pièce indépendante de la queue écho "Il s'agit d'un exemple de sortie indépendant de la queue utilisé pour séparer les articles des autres contenus. \ n"; ?>
 <span></span>