Захотелось сделать валидную rss ленту для Базарчика , чтоб проходила проверку на валидаторе , ан не тут то было
То что было в скрипте от рождения можно посмотреть ТУТ .
Кошмар полный, начал думать гадать, что тут не так. Сразу видно, что ошибки вылазят на русскоязычных урлах, в английской версии, такого не происходит.
Читаю хелпы и т.д. , говорят попробуйте url-кодированные строки. Но опять же все не так гладко.
Как оказалось http заголовок не трогаем , а кодируем тело. У меня заголовок входил в сайт-урл, пришлось удалять:
$urii= str_replace("http://","",$site_url). '/'.$manal.'-' .$id. '.html';
- это тут я формирую линк.
Сам тэг <link> формируем таким образом:
$rssfeed .= '<link><![CDATA[' .'http://'.urlencode($urii).']]></link>'."\n";
Дальше обнаружились трудности с картинками, стандарт требует полный линк, а не относительный:
<media:content url="'.$site_url.'/'.$img_path.'" type="image/jpeg" width="360" height="288" />
Вот так, степ бай степ и решена была проблема, в инете ничего путевого не нашел, хотя перерыл много сайтов.
В итоге вот что получилось КЛАЦ
Остались шероховатости, решу чуть позднее.