What is the difference between using eregi_replace and preg_replace in PHP for string manipulation?

The main difference between eregi_replace and preg_replace in PHP for string manipulation is that eregi_replace is case-insensitive while preg_replace is case-sensitive. This means that eregi_replace ignores the case of letters when performing replacements, while preg_replace takes case into consideration. If you need to perform case-insensitive replacements, eregi_replace is the appropriate choice, but if you need case-sensitive replacements, preg_replace should be used.

// Using eregi_replace for case-insensitive replacement
$text = "Hello, world!";
$new_text = eregi_replace("hello", "hi", $text);
echo $new_text;

// Using preg_replace for case-sensitive replacement
$text = "Hello, world!";
$new_text = preg_replace("/Hello/", "Hi", $text);
echo $new_text;