From 463f9f6721cc445cb9802cfe56b2b6a5c1945a5a Mon Sep 17 00:00:00 2001 From: Henrik Nygren Date: Tue, 7 Jan 2025 11:54:49 +0100 Subject: [PATCH 1/2] Ensure PHP_EOL linebreaks in synonym post --- includes/classes/REST/Synonyms.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/classes/REST/Synonyms.php b/includes/classes/REST/Synonyms.php index 7d5870b93..fc25f30fb 100644 --- a/includes/classes/REST/Synonyms.php +++ b/includes/classes/REST/Synonyms.php @@ -79,8 +79,8 @@ public function check_permission() { * @return string */ public function sanitize_solr( $value ) { - $solr = trim( $value ); $solr = sanitize_textarea_field( $value ); + $solr = preg_replace( '/\r\n|\r|\n/', PHP_EOL, $solr ); return $solr; } From 09cc82acb89a92b76498e85ce68a7e0d7979a599 Mon Sep 17 00:00:00 2001 From: Henrik Nygren Date: Tue, 7 Jan 2025 11:56:01 +0100 Subject: [PATCH 2/2] preg_split on all line breaks in synonym post --- includes/classes/Feature/Search/Synonyms.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/classes/Feature/Search/Synonyms.php b/includes/classes/Feature/Search/Synonyms.php index 749c1a5cf..3852b4361 100644 --- a/includes/classes/Feature/Search/Synonyms.php +++ b/includes/classes/Feature/Search/Synonyms.php @@ -319,7 +319,7 @@ public function get_synonyms() { $synonyms_raw = $this->get_synonyms_raw(); $synonyms = array_values( array_filter( - array_map( [ $this, 'validate_synonym' ], explode( PHP_EOL, $synonyms_raw ) ) + array_map( [ $this, 'validate_synonym' ], preg_split( '/\r\n|\r|\n/', $synonyms_raw ) ) ) );