|
|
|
| При генерации rss, заменяю переносы с nl2br:
$text = nl2br($news["text"]);
При этом, rss строчку с $text перестает выдавать вообще.
Если убираю nl2br() - все прекрасно выдает, кроме нормальных переносов строк.
Подскажите, чтоя делаю не так? | |
|
|
|
|
|
|
|
для: vitroot
(28.02.2010 в 07:19)
| | И можно посмотреть ваш текст с переносами (части хватит, но сначала). | |
|
|
|
|
|
|
|
для: sim5
(28.02.2010 в 09:15)
| | Вот пример:
Добавить в /etc/mysql/my.cnf в секции [mysqld]:
skip-character-set-client-handshake
default-character-set=utf8
init-connect='SET NAMES utf8'
default-collation=utf8_general_ci
И /etc/init.d/mysql restart
-- | |
|
|
|
|
|
|
|
для: vitroot
(28.02.2010 в 09:29)
| | $news["text"] - где? Вы можете реальный кусочек этого текста выставить со всем его переносами, обрамив его тегом [соde][/соde]? При чем тут конфиг, если речь о rss? | |
|
|
|
|
|
|
|
для: sim5
(28.02.2010 в 09:45)
| | Потому что этот конфиг - это содержимое $news["text"]!
Добавить в /etc/mysql/my.cnf в секции [mysqld]:
skip-character-set-client-handshake
default-character-set=utf8
init-connect='SET NAMES utf8'
default-collation=utf8_general_ci
И /etc/init.d/mysql restart
|
| |
|
|
|
|
|
|
|
для: vitroot
(28.02.2010 в 09:48)
| | Если выполнить именно с тем что вы выставили:
<?
$s ="Добавить в /etc/mysql/my.cnf в секции [mysqld]:
skip-character-set-client-handshake
default-character-set=utf8
init-connect='SET NAMES utf8'
default-collation=utf8_general_ci
И /etc/init.d/mysql restart";
echo nl2br($s);
|
то получим все без проблем. В самом примении nl2br у вас нет никой ошибки. | |
|
|
|
|
|
|
|
для: sim5
(28.02.2010 в 09:57)
| | Что там ошибки нет - я знаю. Но выводит без nl2br() вот так:
Добавить в /etc/mysql/my.cnf в секции [mysqld]:
skip-character-set-client-handshake default-character-set=utf8 init-connect='SET NAMES utf8' default-collation=utf8_general_ci
И /etc/init.d/mysql restart";
|
| |
|
|
|
|
|
|
|
для: vitroot
(28.02.2010 в 10:11)
| | Ну а как же еще должно выводить? Конечно в строку, но, это еще смотря в чем заключена строка эта, имею ввиду HTML-элементы на странице, их стили, от чего в конечном итоге может зависеть и вид строки на странице. | |
|
|
|
|
|
|
|
для: sim5
(28.02.2010 в 10:26)
| | Если я таким же образом через nl2br() вывожу просто на страницу - все нормально, как надо.
А если вывожу в генерации rss - то проблема и появляется | |
|
|
|
|
|
|
|
для: sim5
(28.02.2010 в 10:26)
| | Вот код генерации rss:
<?php
header('Content-type: application/xml');
$data="<?xml version=\"1.0\" encoding=\"utf-8\" ?> ";
$data.= "<rss version=\"2.0\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\">";
$data.= "<channel>";
$data.= "<title>Unix Tips</title>";
$data.= "<link>http://sitename.ru</link>";
$data.= "<description>заголовок</description>";
$data.= "<copyright>GPL</copyright>";
$data.= "<language>ru</language>";
$data.= "<managingEditor>info@sitename.ru</managingEditor>";
$data.= "<webMaster>info@sitename.ru</webMaster>";
include "inc/settings.php";
$query="SELECT id,title,tips,date,name FROM tips ORDER BY date DESC LIMIT 10";
$result = mysql_query($query);
while($tip = @mysql_fetch_array($result))
{
$date = $tip['date'];
$title = $tip['title'];
$tips = nl2br($tip['tips']);
$name = $row['name'];
$data.="<item>";
$data.="<title>".$title."</title>";
$data.="<link>http://sitename.ru</link>";
$data.="<description>".$tips."</description>";
$data.="<dc:creator>Администрация проекта </dc:creator>";
$data.="<dc:date>".$date."</dc:date>\n</item>";
}
$data=$data."</channel></rss>";
// Выводи это всё
print($data);
?>
|
| |
|
|
|
|
|
|
|
для: vitroot
(28.02.2010 в 10:34)
| | Я не знаю xml, а возможно проблема в этом.
@mysql_fetch_array($result) - вы можете объяснить зачем вы тут собаку посадили? | |
|
|
|
|
|
|
|
для: sim5
(28.02.2010 в 10:38)
| | Для того, чтобы в случае чего убрать лишнюю ругань. В данном случае с ней или без нее не изменится ничего. | |
|
|
|
|
|
|
|
для: vitroot
(28.02.2010 в 10:47)
| | Нужно проверять, что возвращает запрос, и решать вопрос о выводе. А устанавливать собак куда непопадя, это... | |
|
|
|
|
|
|
|
для: sim5
(28.02.2010 в 10:52)
| | Не надо привязываться к тому, что не имеет значения. Собака тут ни причем совершенно.
А в таких случаях собаку я ставлю всегда на всякий случай. Ибо если запрос вернет пустой результат, посыпятся ненужные мне ворнинги | |
|
|
|
|
|
|
|
для: vitroot
(28.02.2010 в 11:01)
| | Я не привязываюсь, просто логика обработки вашего запроса не верна, и этот промах вы пытаетесь скрыть собакой. Но коли вы считаете это нормальным, пожалуйста, вы же себе, а не мне по заказу пишите.
То, что это является корнем проблемы вашей, я и не говорил. Возможно это влияние правил xml, ну, или, стилей, гадать не буду. | |
|
|
|
|
|
|
|
для: vitroot
(28.02.2010 в 07:19)
| | Вобщем, тупой разговор ни о чем.
Зачем рассуждать на другие темы, если не знаешь ответа?
Решение помог найти мой хороший знакомый.
Заменяем
<?
$data.="<description>".$tips."</description>"; на $data.="<description><![CDATA[".$tips."]]></description>";
?>
|
где ранее $tips определена как nl2br($tip["tips"]); | |
|
|
|
|
|
|
|
для: vitroot
(01.03.2010 в 04:41)
| | Это вы себе ответили? Уважаемый я вам изначально сказал - я не знаю xml, и не умничал по этому поводу.
Но вто то, как вы обрабатываете свой запрос (логика скрипта), это из рук вон плохо. Впрочем, вы сами себе велосипед - нравится так, заради бога. | |
|
|
|