stripos
是 PHP 中的一個字符串函數,用于查找子字符串在另一個字符串中首次出現的位置。它不區分大小寫。但是,stripos
不支持多字節字符,因為它使用單字節編碼(如 ASCII)來處理字符串。
要處理多字節字符,您可以使用 mb_stripos
函數,它是 stripos
的多字節安全版本。mb_stripos
函數接受兩個參數:要搜索的字符串和要查找的子字符串。此外,它還接受一個可選的第三個參數,用于設置區域設置。
以下是一個使用 mb_stripos
的示例:
<?php
$haystack = "你好,世界!歡迎來到 PHP 世界。";
$needle = "PHP";
// 設置區域設置為中文(簡體),以便正確處理中文字符
mb_set_encoding("UTF-8", "UTF-8");
// 使用 mb_stripos 查找子字符串在主字符串中首次出現的位置
$position = mb_stripos($haystack, $needle);
if ($position !== false) {
echo "子字符串 '{$needle}' 在主字符串 '{$haystack}' 中首次出現的位置是:{$position}";
} else {
echo "子字符串 '{$needle}' 未在主字符串 '{$haystack}' 中找到。";
}
?>
在這個示例中,我們首先設置了區域設置為中文(簡體),以便正確處理中文字符。然后,我們使用 mb_stripos
查找子字符串 “PHP” 在主字符串 “你好,世界!歡迎來到 PHP 世界。” 中首次出現的位置。最后,我們輸出結果。