Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Содержимое файла .rtf в одну длинную строку
 
 автор: Boris   (05.09.2006 в 07:04)   письмо автору
 
 

Здравствуйте!
Вот проблема такая:
Делаю программку, которая на основе шаблона rtf-файла делает персональные файлы писем - подставляет из БД вместо переменных в тексте соответствующие имена и фамилии.

Содержимое шаблона заносится в переменную $output и потом нужные заранее обозначенные слова в тексте заменяются на персональные данные:

// Сохранить содержимое шаблона в переменной
          $output1 = fread( $fp, filesize( $filename ) );
          $output = trim($output1);
          fclose ( $fp );
          
          // Заменить заполнители в шаблоне требуемыми данными
          $output = str_replace( "kompany", "$company", $output );
          $output = str_replace( "tookomp", "$company_to", $output );


Беда в том, что слово kompany, например, может быть разделено в файле шаблона если его смотреть в FAR (часть букв на одной строке, а другая часть уже с новой строки). Соответственно функция str_replace не срабатывает.
Может есть способ вытянуть всю начинку шаблона в одну строчку?

   
 
 автор: cheops   (05.09.2006 в 11:16)   письмо автору
 
   для: Boris   (05.09.2006 в 07:04)
 

А нельзя для таких случаев перенос строки и в функции шаблона подставлять?
<?php
          
// Заменить заполнители в шаблоне требуемыми данными 
          
$output str_replace"kom\r\npany""$company"$output ); 
          
$output str_replace"tookomp""$company_to"$output );
?>

   
 
 автор: Boris   (05.09.2006 в 12:11)   письмо автору
 
   для: cheops   (05.09.2006 в 11:16)
 

Наверное можно! Чуть позже попробую, спасибо!

   
 
 автор: Boris   (05.09.2006 в 12:13)   письмо автору
 
   для: Boris   (05.09.2006 в 12:11)
 

Нет, все-таки нельзя! Так как я заранее не могу сказать в каком месте слова будет перенос, ведь основной текст шаблона можно изменить (дописать или удалить параграф)...

   
 
 автор: cheops   (05.09.2006 в 12:24)   письмо автору
 
   для: Boris   (05.09.2006 в 12:13)
 

А у вас много раз название фирмы на странице встречается? Каким редактором подготавливается rtf-документ? Нельзя ли отключить переносы слов?

   
 
 автор: Boris   (05.09.2006 в 13:05)   письмо автору
 
   для: cheops   (05.09.2006 в 12:24)
 

В тексте пару раз встречается. Программа в будущем будет универсальной, т.е. разные шаблоны будут и готовить их будет обычный работник в Ворде (сохранять как rtf)

   
 
 автор: Boris   (05.09.2006 в 13:14)   письмо автору
 
   для: Boris   (05.09.2006 в 13:05)
 

Так-так! Отключил переносы, вроде шаблон сформировался как надо... Но фиг его знает :) Пока пусть будет так, но скоро придется вернуться к этой теме, я так чувствую :)
Спасибо большое!

   
 
 автор: Boris   (05.09.2006 в 13:50)   письмо автору
 
   для: Boris   (05.09.2006 в 13:14)
 

А вот и не помогло таки :(

   
 
 автор: cheops   (05.09.2006 в 14:53)   письмо автору
 
   для: Boris   (05.09.2006 в 13:50)
 

А на этот раз из-за чего не срабатывает?

   
 
 автор: Boris   (06.09.2006 в 06:45)   письмо автору
 
   для: cheops   (05.09.2006 в 14:53)
 

Все тоже, часть переменной уходит на другую строку... Думаю переносы тут ни причем.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования