Форум

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

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

01.12.2010 22:50:34 01.12.2010 23:10:35

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


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

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

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



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

Goshan
  • Группа: Посетители
  • Пункты: 729
  • Регистрация: 07.10.2006
  • Пол: Мужчина
  • Из: Россия/Москва
Goshan
3.91

3.91

01.12.2010 23:15:00 01.12.2010 23:31:02

HTML сущности:

<br /> $new = htmlspecialchars(&quot;&lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;&quot;, ENT_QUOTES);<br />

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

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


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

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

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

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

GRAFLEKX
  • Группа: Супермодераторы
  • Пункты: 1595
  • Регистрация: 18.09.2008
  • Пол: Мужчина
  • Из: Россия
GRAFLEKX
3.92

3.92

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

и код


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



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

Goshan
  • Группа: Посетители
  • Пункты: 729
  • Регистрация: 07.10.2006
  • Пол: Мужчина
  • Из: Россия/Москва
Goshan
3.91

3.91

Ну, наверное не так:

$text = str_replace(&quot;&quot;, &quot;&lt;br&gt;&quot;, $name);

А вот так правильнее будет:
$text = str_replace(&quot;&#092;n&quot;,&quot;&lt;br&gt;&quot;,$name);


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

GRAFLEKX
  • Группа: Супермодераторы
  • Пункты: 1595
  • Регистрация: 18.09.2008
  • Пол: Мужчина
  • Из: Россия
GRAFLEKX
3.92

3.92

01.12.2010 23:38:30 01.12.2010 23:44:47

Использую вот так:


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


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

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

Goshan
  • Группа: Посетители
  • Пункты: 729
  • Регистрация: 07.10.2006
  • Пол: Мужчина
  • Из: Россия/Москва
Goshan
3.91

3.91

01.12.2010 23:42:00 01.12.2010 23:46:56

Пробуйте так:

$text = str_replace(&quot;&#092;r&#092;n&quot;, &quot;&lt;br&gt;&quot;, $text);

А лучше уж сразу оба варианта для верности:
$text = str_replace(&quot;&#092;r&#092;n&quot;, &quot;&lt;br&gt;&quot;, $text); <br /> $text = str_replace(&quot;&#092;n&quot;, &quot;&lt;br&gt;&quot;, $text);

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

GRAFLEKX
  • Группа: Супермодераторы
  • Пункты: 1595
  • Регистрация: 18.09.2008
  • Пол: Мужчина
  • Из: Россия
GRAFLEKX
3.92

3.92

всё равно не заменяет...

Goshan
  • Группа: Посетители
  • Пункты: 729
  • Регистрация: 07.10.2006
  • Пол: Мужчина
  • Из: Россия/Москва
Goshan
3.91

3.91

01.12.2010 23:48:13 01.12.2010 23:48:43

Ну это уже фантастика какая-то... Вы в переменных ни чего не путаете?
Дайте кусок кода...

GRAFLEKX
  • Группа: Супермодераторы
  • Пункты: 1595
  • Регистрация: 18.09.2008
  • Пол: Мужчина
  • Из: Россия
GRAFLEKX
3.92

3.92



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);
.....
Goshan
  • Группа: Посетители
  • Пункты: 729
  • Регистрация: 07.10.2006
  • Пол: Мужчина
  • Из: Россия/Москва
Goshan
3.91

3.91

А вот так попробуйте:

$text=str_replace(&quot;&#092;n&quot;,&#039;&lt;br&gt;&#039;,$text);

GRAFLEKX
  • Группа: Супермодераторы
  • Пункты: 1595
  • Регистрация: 18.09.2008
  • Пол: Мужчина
  • Из: Россия
GRAFLEKX
3.92

3.92

Всего: 39 на 4 страницах по 10 на каждой странице

1 2 3 4
Открыть Ответить

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

Идеи и предложения
Обратная связь