ďťż
Podstrony
|
telcocafeAdres: domain.com/news/55Treść nowości zawiera linki i obrazki ze ścieżkami względnymi. Czytnik RSS interpretuje adresy tak: domain.com/news/img/test.png, domain.com/news/article/firefox_4_wydany Jak przekazać czytnikowi adres bazowy? Czy w ogóle się da? Czy zostaje konieczność zamiany linków w treści nowości? Nie jesteś jedyny :lol: Spróbuj tak:<?php function relToAbs($text, $base) { if (empty($base)) return $text; // base url needs trailing / if (substr($base, -1, 1) != '/') $base .= '/'; // Replace links $pattern = '/<a([^>]*) href="[^http|ftp|https]([^"]*)"/'; $replace = '<a\${1} href="'.$base.'\${2}"'; $text = preg_replace($pattern, $replace, $text); // Replace images $pattern = '/<img([^>]*) src="[^http|ftp|https]([^"]*)"/'; $replace = '<img\${1} src="'.$base.'\${2}"'; $text = preg_replace($pattern, $replace, $text); // Done return $text; } Sprawdzę, czy czytniki respektują tag xml:base. Jeśli nie, wtedy pozostanie konwersja adresów URL. A najprościej - używać wszędzie bezwzględne URLe, lub wszędzie względne bez przepisywania na URL katalogowe ;) Mieszanki dość szybko doprowadzą do problemów. |
|||
Sitedesign by AltusUmbrae. |