Получение новых строк вместо slash-f-s при выводе RTF из PHP - PullRequest
1 голос
/ 23 августа 2009

Я перевожу старое (около 2001 года) приложение PHP 3 на новый сервер PHP5. После миграции 90% кода работало сразу после установки, и большая часть оставшегося кода работала, как только я просмотрел старый php.ini и изменил настройки в новом php.ini для соответствия. Тем не менее есть одна действительно раздражающая вещь. Одной из основных задач приложения является создание документов RTF путем объединения информации из базы данных MySQL и шаблонов RTF, встроенных в сценарии php. Первоначальный автор использовал операторы echo, в которых ссылки на переменные PHP и RTF смешаны вместе, для вывода файла в браузер, который затем вызывает Word для обработки вывода.

Моя проблема в том, что в новой системе всякий раз, когда в выражении echo есть \ f, фактический вывод имеет разрыв строки. Я не уверен, что это CR или LF, но это определенно разрыв строки. Это вещь PHP для обработки \ f? Как я могу выключить его?

Ответы [ 2 ]

1 голос
/ 23 августа 2009

В соответствии с PHP документацией"\ f" в строке в двойных кавычках означает FORM-FEED с версии 5.2.5.

Таким образом, если вы действительно хотите иметь "\f" в своем выводе, вам нужно будет использовать "\\f", как в:

echo "Test\\f";
0 голосов
/ 23 августа 2009

\ f - это подача формы. Это эквивалентно коду ASCII 12. См. Полную таблицу в Wikipedia . Если вы должны были распечатать документ в формате RTF, принтер должен перейти на следующую страницу. Если вы просматриваете документ в WYSIWYG-редакторе, таком как Microsoft Word, он должен показать, что документ переходит на следующую страницу.

\ f это не PHP-вещь. Если вы на самом деле не хотите получать фиды, избавьтесь от \ f.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...