From 6b3ecb8040d6f98640468d7e80d041c03e0ec267 Mon Sep 17 00:00:00 2001
From: Keshav Patel <61262-Keshav@users.noreply.drupalcode.org>
Date: Tue, 4 Mar 2025 17:58:04 +0000
Subject: [PATCH] Issue #3491615: Support for pipes inside of strings

---
 src/TokenOrTokensPreAlter.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/TokenOrTokensPreAlter.php b/src/TokenOrTokensPreAlter.php
index 3c118b9..4175091 100644
--- a/src/TokenOrTokensPreAlter.php
+++ b/src/TokenOrTokensPreAlter.php
@@ -45,7 +45,7 @@ class TokenOrTokensPreAlter {
     foreach (reset($matches) as $match) {
       if (strpos($match, '|') !== FALSE) {
         $match_clean = substr(substr($match, 1), 0, -1);
-        $sub_tokens = explode('|', $match_clean);
+        $sub_tokens = preg_split('/\|(?=(?:[^"]*"[^"]*")*[^"]*$)/', $match_clean);
 
         foreach ($sub_tokens as $sub_token) {
           if (substr($sub_token, 0, 1) === '"' && substr($sub_token, -1, 1) === '"') {
-- 
GitLab