替代方法: preg_match
PHP中提供了一個替代方法——preg_match。它與eregi類似,也可以用來匹配字符串并返回真或假。preg_match使用的是正則表達式進行匹配。
// 用eregi替換的代碼 if (eregi("php", $str)) { // ... } // 使用preg_match替換后的代碼 if (preg_match("/php/i", $str)) { // ... }
在這個例子中,“/php/i”表示一個正則表達式,其中“/”在起始和結束處。i是一個標志,指示匹配時不區分大小寫。
替代方法:stripos
如果您只是想查找一個字符或子字符串是否包含在另一個字符串中,則可以使用stripos。該函數將返回字符串中第一個匹配的位置(如果沒有匹配則返回FALSE)。
// 用eregi替換的代碼 if (eregi("hello", $str)) { // ... } // 使用stripos替換后的代碼 if (stripos($str, "hello") !== false) { // ... }
在這個例子中,我們使用stripos檢查字符串$str是否包含子字符串“hello”。不同于eregi函數,stripos返回匹配的位置,并將其與false進行比較。
替代方法:mb_eregi_replace
如果您需要用一個新的字符串替換一個匹配的字符串,則可以使用mb_eregi_replace。它可以用來替換包含指定正則表達式的子字符串。
// 用eregi替換的代碼 $newstr = eregi_replace("world", "PHP", $str); // 使用mb_eregi_replace替換的代碼 $newstr = mb_eregi_replace("world", "PHP", $str);
在這個例子中,我們將“world”替換為“PHP”并將結果存儲在$newstr變量中。注意,由于mb_eregi_replace基于多字節字符,所以它比eregi_replace更靈活。
結論
雖然eregi在PHP7.0中被棄用,但我們可以使用preg_match,stripos,mb_eregi_replace等其他函數來完成相同的工作。您可以根據不同的情況選擇適合您項目需要的函數。
下一篇php eregi