string substr(string $string, int $start, int $length = null)
start 個字元開始(索引從 0 起算)。|start| 個字元開始。length 個字元。|length| 個字元。length:返回從 start 到字串結尾。echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', -2); // ef
echo substr('abcdef', -3, 1); // d
echo substr('abcdef', 1, -1); // bcde
string strrchr(string $haystack, string $needle)
尋找 needle 在 haystack 中最後一次出現的位置,並返回該位置到字串結尾的部分。找不到則返回 false。
$PATH = 'https://localhost/test/test.php'; $dir = substr(strrchr($PATH, ':'), 1); echo $dir; // 輸出://localhost/test/test.php
string strstr(string $haystack, string $needle)
返回 needle 首次出現位置到字串結尾的部分。找不到返回 false。注意:PHP 5.3+ 可用 strstr($haystack, $needle, true) 取得 needle 之前的部分。
int ereg(string $pattern, string $string, array &$regs = null)
依 pattern 規則解析 string。若提供 regs 陣列,regs[0] 為完整匹配字串,regs[1]、regs[2]… 為各捕獲群組。僅判斷是否匹配時可省略 regs,返回 true/false。
// 舊寫法(不建議使用)
if (eregi('^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$', $email)) {
echo '您的 E-Mail 通過初步檢查';
}
// 建議改用 preg_match(支援 UTF-8、效能更好)
if (preg_match('/^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$/i', $email)) {
echo '您的 E-Mail 通過初步檢查';
}
重要提醒:ereg系列函數自 PHP 5.3 起棄用,PHP 7.0 已移除。請全面改用preg_match/preg_replace等 PCRE 函數。