|
|
|
| Подскажите, пожалуйста, где можно посмотреть таблицу спецсимволов.
Например, код соответствующий возврату каретки. Как будет выглядеть функция, так:
<?php
$main = preg_replace("/код/", "<br>", $_POST['main']);
?>
|
UPD: Можно и при помощи str_replace, но нужен код :) | |
|
|
|
|
|
|
|
для: Indemion
(07.11.2006 в 16:04)
| | > Например, код соответствующий возврату каретки
\r, обрыв строки -- \n
> UPD: Можно и при помощи str_replace, но нужен код :)
<?php
$main = nl2br($_POST['main']);
?>
|
| |
|
|
|
|
|
|
|
для: ЯR
(07.11.2006 в 16:40)
| | Спасибо.
Можно чуть подробнее?
Поглядел в инете и увидел, как \r\n используют вместе. Пока не могу понять разницы. И смысл. /r = <BR>, а /n - в чем его смысл? | |
|
|
|
|
|
|
|
для: Indemion
(07.11.2006 в 16:57)
| | В Windows перевод строки обозначается двумя символами \r\n, в UNIX одним \n в Macintosh - \n\r. Сейчас отдельные символы в последовательности не несут сокраментального смысла, просто перевод строки. \r - это раньше был возврат валика (каретки) в начало строки на принтере или телетайпе (мониторов не было - выводили всё на бумагу), а символ \n - проворачивал валик на новую строку. | |
|
|
|
|
|
|
|
для: cheops
(07.11.2006 в 17:01)
| | Спасибо большое :)
У еще вопросы.
1. Почему <br /> а не <br>?
2. А как совершить обратный переход от <br /> к /n
Т.е. я ввожу новость на сайт, и в БД у меня записывается информация с <br />. На выводе всё ок. А когда редактирую информацию, всплывает тэг. Заменять его обратно на /n?
Попробовал так: $main = str_replace("<br />", "", $row['main']);
Работает, но не могу понять почему? Ведь конца строки не существует после замены... | |
|
|
|
|
|
|
|
для: Indemion
(07.11.2006 в 17:18)
| | >1. Почему <br /> а не <br>?
Это веяния XHTML: каждый тэг, который не имеет завершающий тэг долже перед завершением писать /> вместо >. Т.е. правильно писать <br /> и все машинные обработчики так и пишут, а людям лень - они привыкли <br> писать, так как мало написать <br/> нужно ещё и пробел поставить <br /> в общем все (ну или по крайней мере большинство) ленятся.
>Попробовал так: $main = str_replace("<br />", "", $row['main']);
Следует писать так
<?php
$main = str_replace("<br />", "\r\n", $row['main']);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(07.11.2006 в 22:20)
| | Не работает. Так функция добавляет еще пару возвратов кареток к концу строк.
Работает, только в случае если <br> заменить на "". Почему - не понимаю :) Пол вечера экспериментировал. | |
|
|
|
|
|
|
|
для: indemion
(07.11.2006 в 23:41)
| | Функция nl2br не заменяет \r\n на <br /> а добавляет <br /> перед \r\n.
\r\n никуда не уходит, и при обратной замене остается в строке. | |
|
|
|
|
|
|
|
для: Trianon
(08.11.2006 в 12:08)
| | Понял. Спасибо всем больше :) | |
|
|
|