|
|
|
| Здравствуйте!
К примеру я скачиваю объявления с чужого сайта, кидаю их к себе в Ворд, обрабатываю, перекидываю в блокнот, и уже из блокнота закидываю на сайт, при этом текст идет с тегами,
Компьютер Acer PDA c530 новый гар.1р. ориг. весь комплект WM 5.0 GPS/BT/WLAN ц.360 у.о <BR>тел.: 222-22-22, </P> <P> </P>
|
которых ни в Ворде, ни в Блокноте не видно. Ни
mysql_escape_string, htmlspecialchars
на вводе, ни
$name = htmlspecialchars(stripslashes($name ));
|
на выходе не помогают. | |
|
|
|
|
|
|
|
для: ronin
(20.03.2007 в 16:01)
| | Я пытаюсь так:
$DESCRIPTION = str_replace("<BR>","", $DESCRIPTION);
$DESCRIPTION = str_replace(" ","", $DESCRIPTION);
$DESCRIPTION = str_replace("<P>","", $DESCRIPTION);
$DESCRIPTION = str_replace("</P>","", $DESCRIPTION);
$DESCRIPTION = str_replace("<p>","", $DESCRIPTION);
|
В таком случае <BR> <P></P> - пропадают, но это ведь неправильно? | |
|
|
|
|
|
|
|
для: ronin
(20.03.2007 в 18:50)
| | Вы, как я понял, этого и добиваетесь - чтоб они пропали....
Почему неправильно? | |
|
|
|
|
|
|
|
для: Trianon
(20.03.2007 в 18:54)
| | наверное есть какая-то универсальная функция по обрабытыванию текста, взятого из Ворда или Блокнота, вот как htmlspecialchars, которая в данном случае не работает. ? | |
|
|
|
|
|
|
|
для: ronin
(20.03.2007 в 18:58)
| | нет.
И htmlspecialchars() - это не универсальная функция. Это функция с вполне конкретным назначением - поменять пятерку символов на соответствующие эквиваленты языка разметки. | |
|
|
|
|
|
|
|
для: Trianon
(20.03.2007 в 19:03)
| | Спасибо! | |
|
|
|
|
|
|
|
для: ronin
(21.03.2007 в 10:04)
| |
$text = preg_replace ('/<[a-zA-Z]>.*?<\/[a-zA-Z]>|<br>|<p>.*?<\/p>/is', '', $text);
|
| |
|
|
|
|
|
|
|
для: zerocool
(21.03.2007 в 12:04)
| | Спасибо! Наверное это то, что нужно, но в том виде, что есть, оно вырезает ВЕСЬ текст. Я поработаю в поиске... | |
|
|
|
|
|
|
|
для: ronin
(21.03.2007 в 16:20)
| |
<?php
// $document на выходе должен содержать HTML-документ.
// Необходимо удалить все HTML-теги, секции javascript,
// пробельные символы. Также необходимо заменить некоторые
// HTML-сущности на их эквивалент.
$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, $document);
?>
|
радикальное средство - чисто тайд | |
|
|
|
|
|
|
|
для: ronin
(20.03.2007 в 16:01)
| | Почему бы просто не воспользоваться функцией strip_tags()? | |
|
|
|
|
|
|
|
для: Саня
(21.03.2007 в 21:31)
| | Если я не ошибаюсь, то эта функция не работает, если нет закрывающего тега, в таком случае может пропасть весь текст? | |
|
|
|
|
|
|
|
для: ronin
(22.03.2007 в 10:22)
| | Я попробывал $text = strip_tags($text ); , не удаляет:
а все остальное чистит. | |
|
|
|
|
|
|
|
для: ronin
(22.03.2007 в 10:55)
| | $text = strip_tags(str_replace(" ", "", $text)); | |
|
|
|
|
|
|
|
для: Саня
(22.03.2007 в 11:03)
| | Все работает! Спасибо! | |
|
|
|