Preg_replace проблема

12
J4
На сайте с 21.05.2009
Offline
99
1141

Приветствую всех читающих! Возникла небольшая проблема с функцией preg_replace. Нужно удалить куски контента расположенного между заданными границами(реклама google adsense) в большом кол-ве html файлов. Весь скрипт работает как надо(удаление контента между границами это лишь малая часть скрипта), не работает только preg_replace.

$b = preg_replace('|<div class="google(.*)</div>|i', "", $b);

Возможно я допустил какую-то дурацкую ошибку в синтаксисе preg_replace, хотя раньше именно в таком виде функция у меня работала, с мануалом вроде также нет противоречий.

Спасибо за помощь.

P.S. Ответы типа читай мануал и т.д. не стоит писать, если вас так обламывает помочь, так не тратьте свое время вообще на ответ.

[umka]
На сайте с 25.05.2008
Offline
456
#1
j1gs4w88:
хотя раньше именно в таком виде функция у меня работала

а после чего перестала работать?

найдите отличие :)

Лог в помощь!
M
На сайте с 16.10.2006
Offline
69
#2

А разве не надо экранировать символы <, >, /, " ?

[umka]
На сайте с 25.05.2008
Offline
456
#3
maxtat:
А разве не надо экранировать символы <, >, /, " ?

в данном случае — нет.

< > вроде вообще не надо экранировать :)

J4
На сайте с 21.05.2009
Offline
99
#4

Работала в совершенно другом скрипте. Из того скрипта я просто скопировал функцию и указал необходимые мне границы.

[umka]
На сайте с 25.05.2008
Offline
456
#5

Тогда приведите еще для примера, что у вас в $b (кусок кода с этим div-ом)

J4
На сайте с 21.05.2009
Offline
99
#6

$b = file_get_contents($directory.$n.'.html');

Вот коды, которые необходимо убрать

<div class="googleright"><script type="text/javascript"><!--
google_ad_client = "pub-2907974803424692";
/* 300x250, created 7/7/09 */
google_ad_slot = "1320434563";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>

<div class="googleleft"><script type="text/javascript"><!--
google_ad_client = "pub-2907974803424692";
/* 300x250, created 7/7/09 */
google_ad_slot = "1232309105";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
[umka]
На сайте с 25.05.2008
Offline
456
#7

Всё ясно с вами ...

$b = preg_replace('|<div class="google(.*)</div>|is', "", $b);

edogs software
На сайте с 15.12.2005
Offline
775
#8
'[umka:
;6783705']Всё ясно с вами ...

$b = preg_replace('|<div class="google(.*)</div>|is', "", $b);

Если вспомнить что это html файлы, то правильнее

$b = preg_replace('|<div class="google(.*)</div>|isU', "", $b); , во избежание.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
J4
На сайте с 21.05.2009
Offline
99
#9

Не работают оба варианта(

[umka]
На сайте с 25.05.2008
Offline
456
#10
j1gs4w88:
Не работают оба варианта(

Стало быть, или у вас какой-то иной preg_replace, или вы чего-то недоговариваете :)

У меня вот работает отлично!

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий