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

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

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

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

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

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

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

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

Goshan
Goshan
3.92

3.92

22
01.12.2010 23:15:00 01.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

GRAFLEKX
GRAFLEKX
3.92

3.92

23
01.12.2010 23:29:21

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

и код

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

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

Goshan
Goshan
3.92

3.92

24
01.12.2010 23:34:50

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

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

А вот так правильнее будет:

Код
$text = str_replace("\n","<br>",$name);

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

GRAFLEKX
GRAFLEKX
3.92

3.92

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

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

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

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

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

Goshan
Goshan
3.92

3.92

26
01.12.2010 23:42:00 01.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);

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

GRAFLEKX
GRAFLEKX
3.92

3.92

27
01.12.2010 23:45:56

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

Goshan
Goshan
3.92

3.92

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

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

GRAFLEKX
GRAFLEKX
3.92

3.92

29
01.12.2010 23:50:02
PHP
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
Goshan
3.92

3.92

30
01.12.2010 23:54:14

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

Код
$text=str_replace("\n",'<br>',$text);
GRAFLEKX
GRAFLEKX
3.92

3.92

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр