PHP preg_replace three times with three different patterns? right or wrong?
As you are replacing all with the same, you could do either pass an array
$content = preg_replace(array($pattern1,$pattern2, $pattern3), '', $content);
or create one expression:
$content = preg_replace('/regexp1|regexp2|regexp3/', '', $content);
If the "expressions" are actually pure character strings, use str_replace
instead.
A very readable approach is to make an array with patterns and replacements, and then use array_keys
and array_values
in the preg_replace
$replace = [
"1" => "one",
"2" => "two",
"3" => "three"
];
$content = preg_replace( array_keys( $replace ), array_values( $replace ), $content );
This even works with more complex patterns. The following code will replace 1, 2 and 3, and it will remove double spaces.
$replace = [
"1" => "one",
"2" => "two",
"3" => "three",
"/ {2,}/" => " "
];
$content = preg_replace( array_keys( $replace ), array_values( $replace ), $content );