<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 一些無關前置代碼</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">dummyFunction</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">"這只是前置代碼,與文章內容無關"</span></span><span>;
}
</span><span><span class="hljs-variable">$dummyVar</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dummyFunction</span></span><span>();
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>如何結合 mb_encode_numericentity 和正則表達式來處理特定的字符或文本?</h1>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>在處理多字節字符(如中文、日文、韓文等)時,PHP 提供了 <code>mb_encode_numericentity " ; echo "其中:
" ; echo "例如,我們想將所有中文字符轉換為HTML 實體:
" ; echo "\$convmap = [0x4e00, 0x9fff, 0, 0xFFFF]; \$str = '測試中文'; \$encoded = mb_encode_numericentity(\$str, \$convmap, 'UTF-8'); echo \$encoded; // 測試中文" ; echo "
通過正則表達式,我們可以篩選出我們關心的文本。例如,只匹配中文字符:
" ; echo "
\$str = 'Hello 測試World 中文';
preg_match_all('/[\x{4e00}-\x{9fff}]+/u', \$str, \$matches);
print_r(\$matches[0]); // Array ( [0] => 測試[1] => 中文)
" ; echo " 如果我們只想對匹配到的中文字符進行數字實體轉換:
" ; echo "
\$convmap = [0x4e00, 0x9fff, 0, 0xFFFF];
\$str = 'Hello 測試World 中文';
// 使用正則匹配preg_match_all('/[\x{4e00}-\x{9fff}]+/u', \$str, \$matches);
// 遍歷匹配結果並替換為實體foreach (\$matches[0] as \$match) {
\$encoded = mb_encode_numericentity(\$match, \$convmap, 'UTF-8');
\$str = str_replace(\$match, \$encoded, \$str);
}
echo \$str; // Hello 測試World 中文" ; echo " 結合mb_encode_numericentity 和正則表達式的方式非常適合以下場景:
" ; echo ""通過正則表達式篩選特定字符,再使用mb_encode_numericentity進行轉換,可以精確控制哪些字符需要被轉碼,從而在多字節環境下實現更安全、可靠的文本處理。
" ; ?> <?php // 一些無關尾部代碼 $footerVar = "這只是尾部無關代碼" ; function footerFunction ( ) { return "尾部函數示例" ; } ?>