Чтение RSS каналов

Форум

Открыть Ответить

Чат в реальном времени

21
01.12.2010 22:50:3401.12.2010 23:10:35

На сколько я помню, EMBED не воспроизводится в IE и Opera


На счет IE не знаю, но в FF и Опере все нормально.

Кавычки, спец. символы и т.д. надо переводить в html сущности еще до записи в базу, тогда проблем не будет при выводе.

Слеши вообще вырезать надо и не пускать в базу - вас взломают с таким раскладом.
Вообще любые спец. символы и слеши тем более, должны жестко фильтроваться перед записью в БД, иначе это чревато последствиями...



а если нужно отправить адрес страницы?...
3.92

3.92
22
01.12.2010 23:15:0001.12.2010 23:31:02
HTML сущности:

$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);

В итоге получаем:
&lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;

Выполняет преобразование знаков:
'&' (амперсанд) преобразуется в '&amp;'
'"' (двойная кавычка) преобразуется в '&quot;'
''' (одиночная кавычка) преобразуется в '&#039;'
'<' (знак "меньше чем") преобразуется в '&lt;'
'>' (знак "больше чем") преобразуется в '&gt;'


Если вам нужно преобразовать все возможные сущности, используйте htmlentities()

Если хотите использовать слеш, то почитайте здесь, там все что Вам нужно...

Можно перевести слеш в мнемоник: &frasl; или &#8260;

Список всех мнемоников есть здесь: http://ru.wikipedia.org/wiki/Мнемоники_в_HTML
3.97

3.97
23
01.12.2010 23:29:21
Спасибо!
Тут еще одна проблема: У меня не хочет показывать историю, если хотя бы одно сообщение содержит перенос строки...

и код


$text = str_replace("
", "<br>", $name);



не заменяет почему то =/
3.92

3.92
24
01.12.2010 23:34:50
Ну, наверное не так:
$text = str_replace("", "<br>", $name);

А вот так правильнее будет:
$text = str_replace("\n","<br>",$name);


У Вас в $name все первоначальное сообщение содержится или в $text ?
3.97

3.97
25
01.12.2010 23:38:3001.12.2010 23:44:47
Использую вот так:
$text = str_replace("\n", "<br>", $text);


не работает =/

если попробовать что-нибудь другое заменять, то нормально всё.
3.92

3.92
26
01.12.2010 23:42:0001.12.2010 23:46:56
Пробуйте так:
$text = str_replace("\r\n", "<br>", $text);

А лучше уж сразу оба варианта для верности:
$text = str_replace("\r\n", "<br>", $text);
$text = str_replace("\n", "<br>", $text);

Так как бывает перенос строки, а бывает перенос каретки...
3.97

3.97
27
01.12.2010 23:45:56
всё равно не заменяет...
3.92

3.92
28
01.12.2010 23:48:1301.12.2010 23:48:43
Ну это уже фантастика какая-то... Вы в переменных ни чего не путаете?
Дайте кусок кода...
3.97

3.97
29
01.12.2010 23:50:02

function Send()
{

	$name = substr($_POST['name'], 0, 100);
	$name = htmlspecialchars($name);
	$name = mysql_escape_string($name);
	$name = str_replace("\n", "<br>", $name);

	$text = substr($_POST['text'], 0, 500);
	$text = htmlspecialchars($text);
	$text = mysql_escape_string($text);
	$text = str_replace("\r\n", "<br>", $text);
.....
3.92

3.92
30
01.12.2010 23:54:14
А вот так попробуйте:
$text=str_replace("\n",'<br>',$text);
3.97

3.97
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь