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
$Config = \QUI::getPackage('quiqqer/amazon-affiliate')->getConfig();
// 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
$string = preg_replace_callback(
......@@ -62,6 +62,21 @@ class LinkParser
$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;
}
}
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