]*?href="[^"]*?\/tags\/[^"]*?".*?>#.*?<\/a>/iu', '', $processedContent);
-
- // Entfernt verbleibende HTML-Tags (z.B. , etc.)
- $processedContent = strip_tags($processedContent);
- $processedContent = html_entity_decode($processedContent, ENT_QUOTES | ENT_HTML5, 'UTF-8');
- $processedContent = trim(preg_replace('/\s+/', ' ', $processedContent)); // Mehrere Leerzeichen durch eines ersetzen
-
- $imageMarkdown = '';
- foreach ($imageFilenames as $imageData) {
- $imageMarkdown .= "\n[image " . $imageData['filename'];
- if (!empty($imageData['alt'])) {
- $imageMarkdown .= ' alt="' . htmlspecialchars($imageData['alt'], ENT_QUOTES | ENT_HTML5, 'UTF-8') . '"';
- }
- $imageMarkdown .= "]\n";
- }
-
- $featuredImageFrontMatter = '';
- if (!empty($imageFilenames)) {
- $featuredImageFrontMatter = "Image: " . $imageFilenames[0]['filename'] . "\n";
- }
-
- // Ersetze @ mit @ im Autorennamen für die HTML-Ausgabe
- $htmlSafeAuthorName = str_replace('@', '@', $originalAuthorName);
-
- $sourceLinkHtml = '';
- if (!empty($itemUrl)) {
- $sourceLinkHtml = "
Originalbeitrag: $itemUrl";
- }
-
- return << "$processedContent"
->
-> — $htmlSafeAuthorName
-$sourceLinkHtml
-
-MARKDOWN;
- }
-
- private function getYellowConfig() {
- if ($this->yellow) {
- return $this->yellow->system;
- }
- return null;
- }
-
- private function sendResponse($message, $statusCode = 200) {
- $htmlContent = "Umleitung..." . htmlspecialchars($message) . "
Sie werden in 3 Sekunden weitergeleitet. Falls nicht, klicken Sie hier.
";
- if (!headers_sent()) {
- header("HTTP/1.1 " . $statusCode . " " . $this->getHttpStatusMessage($statusCode));
- header("Content-Type: text/html");
- }
- echo $htmlContent;
- exit;
- }
-
- private function getHttpStatusMessage($statusCode) {
- $httpStatus = array(
- 100 => 'Continue', 101 => 'Switching Protocols',
- 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content',
- 300 => 'Multiple Choices', 301 => 'Moved Permanently', 302 => 'Found', 303 => 'See Other', 304 => 'Not Modified', 305 => 'Use Proxy', 307 => 'Temporary Redirect',
- 400 => 'Bad Request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 407 => 'Proxy Authentication Required', 408 => 'Request Timeout', 409 => 'Conflict', 410 => 'Gone', 411 => 'Length Required', 412 => 'Precondition Failed', 413 => 'Payload Too Large', 414 => 'URI Too Long', 415 => 'Unsupported Media Type', 416 => 'Range Not Satisfiable', 417 => 'Expectation Failed', 426 => 'Upgrade Required', 429 => 'Too Many Requests', 431 => 'Request Header Fields Too Large', 451 => 'Unavailable For Legal Reasons',
- 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Timeout', 505 => 'HTTP Version Not Supported'
- );
- return ($httpStatus[$statusCode]) ? $httpStatus[$statusCode] : 'Unknown Status';
- }
}
\ No newline at end of file