|
|
|
| Вот здесь http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1562 cheops предложил прекрасное решение, освобождающее скачанную страницу сайта от тегов. У меня задача почти такая же, только текст слегка обработан и уже находится в переменной $buff. Понимаю, что прямая замена $link = $buff ; недопустима. Но как же мне сделать, чтобы этим скриптом обрабатывался текст не с адреса http://www.softtime.ru/, а из переменной $buff ?
$link = "http://www.softtime.ru/";
$fd = fopen($link, "r");
$text="";
if (!$fd) echo "Запрашиваемая страница не найдена";
// Чтение содержимого файла в переменную text
else while (!feof ($fd)) $text .= fgets($fd, 4096);
// Закрыть открытый указатель файла
fclose ($fd);
$search = array ("'<script[^>]*?>.*?</script>'si", // Вырезает javaScript
"'<[\/\!]*?[^<>]*?>'si", // Вырезает HTML-теги
"'([\r\n])[\s]+'", // Вырезает пробельные символы
"'&(quot|#34);'i", // Заменяет HTML-сущности
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'&#(\d+);'e"); // интерпретировать как php-код
$replace = array ("",
"",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
"chr(\\1)");
$text = preg_replace($search, $replace, $text);
echo $text;
|
| |
|
|
|
|
|
|
|
для: Владимир55
(05.06.2007 в 17:57)
| |
$search = array ("'<script[^>]*?>.*?</script>'si", // Вырезает javaScript
"'<[\/\!]*?[^<>]*?>'si", // Вырезает HTML-теги
"'([\r\n])[\s]+'", // Вырезает пробельные символы
"'&(quot|#34);'i", // Заменяет HTML-сущности
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'&#(\d+);'e"); // интерпретировать как php-код
$replace = array ("",
"",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
"chr(\\1)");
$text = preg_replace($search, $replace, $buff);
echo $text;
|
| |
|
|
|
|
|
|
|
для: hammet
(05.06.2007 в 18:01)
| | А не проще так?
<?php
$buff=strip_tags($buff);
?>
|
| |
|
|
|
|
|
|
|
для: sms-send
(05.06.2007 в 18:17)
| | А Вы проверьте в действии идентичность результатов выполнения приведенного выше и Вашего кода | |
|
|
|
|
|
|
|
для: hammet
(05.06.2007 в 18:19)
| | Ну просто высший класс!
Вот буквально то, что надо!
Большое, большое спасибо!!! | |
|
|
|
|
|
|
|
для: Владимир55
(05.06.2007 в 18:31)
| | А всеж таки нельзя ли сохранить перевод строки? | |
|
|
|
|
|
|
|
для: Владимир55
(05.06.2007 в 20:27)
| |
<?php
$buff=strip_tags($buff, '<br />');
?>
|
| |
|
|
|