densa
есть код который формирует рсс фид, в нем кусок, который на странице перед формированием фида, ищет и удаляет не нужные элементы, например скрипты
вот код поиска и замены
$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"
);
$replace = array ("",
"",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169)
);
у меня на странице есть текст который обрамляется спец кодом - <mycode>мой текст который не должен появляться в фиде</mycode>
подскажите как добавить в функцию поиска и удаления код, что бы мой текст скрывался от фида. делал так, не получается
$search = array ("'<script[^>]*?>.*?</script>'si", // Вырезается javascript
"'<[\/\!]*?[^<>]*?>'si", // Вырезаются html-тэги
"'([\r\n])[\s]+'", // Вырезается пустое пространство
"'&(quot|#34);'i", // Замещаются html-элементы
"'<mycode>.*?</mycode>'i", // Вырезается mycode
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i"
);
$replace = array ("",
"",
"",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169)
);
Последний раз редактировалось: densa (04/10/13 в 12:48), всего редактировалось 1 раз
Nux
попробуй без экранирования
Код:
"'<mycode>.*</mycode>'si"
* не забывай что после добавления этой строки надо добавить пустую строку в нижний массив замены.
* быть оно должно до кода замены html символов
а вобще покажи весь скрипт, это у тебя не код замены только патерны