X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Фильт в тексте
ksanti
ksanti
Topic Starter сообщение 29.1.2011, 16:44; Ответить: ksanti
Сообщение #1


Подскажите пожалуйста, как фильтровать текст при выводе из документа


[PHP]
$open_fuckin_page=fopen("somethin.txt","rb");
fpassthru($open_fuckin_page);
[/PHP]
грубо говоря я хочу при выводе заменять символы на свои там текстовые смайлы на графические, ну и прочие =)
Сразу хочу подметить что документ дополняться инфой не будет
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 29.1.2011, 17:14; Ответить: Mulder_hb
Сообщение #2


preg_replace
str_replace
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ksanti
ksanti
Topic Starter сообщение 29.1.2011, 18:34; Ответить: ksanti
Сообщение #3


(Mulder_hb @ 29.1.2011, 19:14) *
preg_replace
str_replace

применял подобным образом выдовало ошибку =(

[PHP]
$open_fuckin_page=fopen("somethin.txt","rb");
$open_fuckin_page=str_replace("=)",":)",$open_fuckin_page);
fpassthru($open_fuckin_page);
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ksanti
ksanti
Topic Starter сообщение 29.1.2011, 18:43; Ответить: ksanti
Сообщение #4


Ошибка вот такая ... Warning: fpassthru(): supplied argument is not a valid stream resource in
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
DoctorX
DoctorX
сообщение 29.1.2011, 18:51; Ответить: DoctorX
Сообщение #5


$open_fuckin_page не строка а дескриптор файла.
Вам надо сначало считать из файла. http://php.net/manual/en/function.fread.php


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ksanti
ksanti
Topic Starter сообщение 29.1.2011, 19:02; Ответить: ksanti
Сообщение #6


Спасиб за ссылку сразу спрошу это должно помоч ?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
DoctorX
DoctorX
сообщение 29.1.2011, 19:11; Ответить: DoctorX
Сообщение #7


Конкретно ваш скрипт следует изменить следующим образом:

[PHP]$open_fuckin_page=fopen("somethin.txt","rb");
$str = fpassthru($open_fuckin_page);
$str=str_replace("=)",":)",$str);
echo $str;
[/PHP]


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ksanti
ksanti
Topic Starter сообщение 29.1.2011, 19:26; Ответить: ksanti
Сообщение #8


(Doc.X @ 29.1.2011, 21:11) *
Конкретно ваш скрипт следует изменить следующим образом:

[PHP]$open_fuckin_page=fopen("somethin.txt","rb");
$str = fpassthru($open_fuckin_page);
$str=str_replace("=)",":)",$str);
echo $str;
[/PHP]


Спасиб но код не чего не делает по сути кроме как выводит текст я тут натыкался и нашел больее простой вариант и вроде как работает удивительно....

[PHP]
<?php
$open=fopen("somethin.txt","rb");
$fre=fread($open, filesize("somethin.txt"));
$trans = array("тест" => "епть", "=)" => "да...");
echo strtr("$fre", $trans);
?>
[/PHP]
я вот думаю терь за счет чего текст выводиться ....
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 29.1.2011, 21:26; Ответить: ZhukV
Сообщение #9


(ksanti @ 29.1.2011, 21:26) *
echo strtr("$fre", $trans);

Вот это плоховат вариант замены, поскольку он только сделает замену один раз (если мне память не врет)
На мой взгдял, лучше использовать str_replace(), если уж должны быть расширенные фильтры, то preg_replace()
[PHP]
echo strtr(array_keys($trans), array_values($trans), $fre);[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ksanti
ksanti
Topic Starter сообщение 29.1.2011, 22:20; Ответить: ksanti
Сообщение #10


(ZhukV @ 29.1.2011, 23:26) *
Вот это плоховат вариант замены, поскольку он только сделает замену один раз (если мне память не врет)
На мой взгдял, лучше использовать str_replace(), если уж должны быть расширенные фильтры, то preg_replace()
[PHP]
echo strtr(array_keys($trans), array_values($trans), $fre);[/PHP]

херовато ...
(' post='0 @ 1.1.1970, 07:00)
В этом случае from должен быть массивом, индексы которога трактуются как строки поиска, а соответствующие значения - как строки замены. strtr() в первую очередь заменяет более длинные подстроки, причем одна и та же строка поиска используется только один раз.


все понятно мне конечно не горит пока дело это но все равно хочу выкрутиться из этого дела но как...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыПремиум размещение статей по трастовым сайтам. Отложенная публикация, ссылки в тексте или в картинках
Оперативное и качественное выполнение. Доступные цены.
226 allodessa 140360 20.3.2017, 21:37
автор: jack


 



RSS Текстовая версия Сейчас: 19.4.2024, 8:37
Дизайн