MagicWord::replace*: Make sure we don't pass null into preg_match/preg_replace

Bug: T388924
Change-Id: I02a3e724dc614f0a2306548f58f71d16a8a1dc5b
(cherry picked from commit 2e4e9428580d4829911313644913c3c74cf43244)
This commit is contained in:
James D. Forrester 2025-03-16 19:11:19 -04:00 committed by Reedy
parent fe57b122b5
commit a2bc03b8d8

View file

@ -178,7 +178,7 @@ class MagicWord {
* @return bool
*/
public function match( $text ): bool {
return (bool)preg_match( $this->getRegex(), $text );
return (bool)preg_match( $this->getRegex(), $text ?? '' );
}
/**
@ -189,7 +189,7 @@ class MagicWord {
* @since 1.23
*/
public function matchStartToEnd( $text ): bool {
return (bool)preg_match( $this->getRegexStartToEnd(), $text );
return (bool)preg_match( $this->getRegexStartToEnd(), $text ?? '' );
}
/**
@ -203,7 +203,7 @@ class MagicWord {
* @return bool
*/
public function matchAndRemove( &$text ): bool {
$text = preg_replace( $this->getRegex(), '', $text, -1, $count );
$text = preg_replace( $this->getRegex(), '', $text ?? '', -1, $count );
return (bool)$count;
}
@ -212,7 +212,7 @@ class MagicWord {
* @return bool
*/
public function matchStartAndRemove( &$text ): bool {
$text = preg_replace( $this->getRegexStart(), '', $text, -1, $count );
$text = preg_replace( $this->getRegexStart(), '', $text ?? '', -1, $count );
return (bool)$count;
}
@ -229,7 +229,7 @@ class MagicWord {
$res = preg_replace(
$this->getRegex(),
StringUtils::escapeRegexReplacement( $replacement ),
$subject,
$subject ?? '',
$limit
);
return $res;