What are the best practices for handling inconsistent string formats when using PHP functions like preg_replace() for pattern matching?

When dealing with inconsistent string formats in PHP functions like preg_replace(), it is best to use regular expressions with optional patterns to account for variations in the input. This allows for more flexibility in matching different formats within the same pattern. By using grouping and alternation in the regular expression, you can create a more robust pattern that can handle various string formats effectively.

// Example code snippet for handling inconsistent string formats using preg_replace()

$string = "123-456-7890";
$pattern = "/(\d{3})-?(\d{3})-?(\d{4})/"; // Optional hyphens between numbers

$replacement = "$1$2$3"; // Replace with concatenated numbers

$result = preg_replace($pattern, $replacement, $string);

echo $result; // Output: 1234567890