Skip to content
Code-Schnipsel Gruppen Projekte
Commit 7fdb69b0 erstellt von Jan Wennrich's avatar Jan Wennrich
Dateien durchsuchen

fix: escape dots in TLDs for regex expression

Übergeordneter 57dab4b0
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
...@@ -30,7 +30,7 @@ class LinkParser ...@@ -30,7 +30,7 @@ class LinkParser
$Config = \QUI::getPackage('quiqqer/amazon-affiliate')->getConfig(); $Config = \QUI::getPackage('quiqqer/amazon-affiliate')->getConfig();
// Turn domains into regex OR expression (e.g. "de|at|com|co.uk" // Turn domains into regex OR expression (e.g. "de|at|com|co.uk"
$domainsRegex = implode('|', self::DOMAINS); $domainsRegex = str_replace('.','\.', implode('|', self::DOMAINS));
// Regex gets for all Amazon URLs and their paths under the above defined domains // Regex gets for all Amazon URLs and their paths under the above defined domains
$string = preg_replace_callback( $string = preg_replace_callback(
...@@ -62,6 +62,21 @@ class LinkParser ...@@ -62,6 +62,21 @@ class LinkParser
$string $string
); );
$string = preg_replace_callback(
"/(?<preview><div data-oembed-url=\"(?<url>http(?:s)?:\/\/(?:www\.)?amazon\.(?<domain>de|com|at|co\.uk)\/[\d\w-\._~:\/\?#\[\]@!$&'\(\)\*+,;=`]*)\">.*<\/script>.*<\/div>)/isU",
function ($matches) {
// $matches['url'] contains the whole URL and $matches['domain'] contains the TLD (de, com, etc.)
$url = $matches['url'];
$preview = $matches['preview'];
$replacement = "<a href=\"$url\">$preview</a>";
return $replacement;
},
$string
);
return $string; return $string;
} }
} }
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren