пхп, нужна помошь

12 3
Dos3
На сайте с 07.01.2011
Offline
363
2063

Извените что не по теме раздела, но в этом разделе тоже есть профи

вобщем такой простой скриптик для удаления забаненых на фрихе акков из общего файла ссылок

строки в файле забанены.txt в таком виде: http://miodowncanxi1970.фриха.ru/;ftp.фриха.ru;miodowncanxi1970;64744737;/

строки в файле ссылки.txt в таком виде: <a href="http://abblurel69.фриха.ru/pravilnoe-pitanie-po-korolevoy.html">Правильное питание по королевой</a>

такой выриант вызовет ошибку

<?
set_time_limit(0);

$links = file_get_contents("ссылки.txt");

$banned = file("забанены.txt");
$banned = str_replace("\r\n" , "" , $banned);

foreach($banned as $val){

preg_match("/(http:\/\/.*.фриха.ru)/U" , "$val" , $url);

//echo $url[1] . "<br>";

$links2 = preg_replace("/<a href=\"$url[1]\/.*\">.*<\/a>/U" , "" , $links);
}

echo $links2;

?>

-------------------------------------

а вот такой не вызовет, а почему хз ), изменения выделены

<?
set_time_limit(0);

$links = file_get_contents("ссылки.txt");

$banned = file("забанены.txt");
$banned = str_replace("\r\n" , "" , $banned);

foreach($banned as $val){

preg_match("/(http:\/\/.*.фриха.ru)/U" , "$val" , $url);

//echo $url[1] . "<br>";

$links2 = preg_replace("#<a href=\"$url[1]\/.*\">.*<\/a>#U" , "" , $links);
}

echo $links2;

?>

---------------------------------------

но всёравно выриант вверху не будет работать, можно сделать даже так, но всё равно переменная в регулярках не обрабатывается(строки не удаляются)

<?
set_time_limit(0);

$links = file_get_contents("ссылки.txt");

$banned = file("забанены.txt");
$banned = str_replace("\r\n" , "" , $banned);

foreach($banned as $val){

preg_match("/(http:\/\/.*.фриха.ru)/U" , "$val" , $url);

//echo $url[1] . "<br>";

$links2 = preg_replace("#<a.*$url[1].*<\/a>#U" , "" , $links); //изменения тут
}

echo $links2;

?>

если $url заменить на её значение то строки удаляются

подскажите где я туплю ? :)

M
На сайте с 08.06.2010
Offline
8
#1

$url[0][1]

если так?

Магазин фтп-аккаунтов MailReger.Ru (http://mailreger.ru) ICQ 521603
Dos3
На сайте с 07.01.2011
Offline
363
#2
mailreger:
$url[0][1]
если так?

зачем ?, в $url[1] то что сохранено из preg_match, там всё верно, дело в том что не работают переменные в регулярном выражении, но должны работать(всегда работали)

E3
На сайте с 20.12.2010
Offline
18
#3

php5 ?

регулярки - старые :) Откуда вы их брали ?

preg_match('#тут рег#i',$обрабатываем,$массив);

нивига не понял :) кефир лезет через "уши"

preg_match("/(http:\/\/.*.фриха.ru)/U" , "$val" , $url);

но вот навига "$val" , без обид вы код копипастите ?

preg_match("/(http:\/\/.*.фриха.ru)/U" , $val , $url);

так-же работает.

Dos3
На сайте с 07.01.2011
Offline
363
#4
ext3:
php5 ?

5.3

ext3:
регулярки - старые Откуда вы их брали ?

чего чего, какие старые )))))

ext3:
preg_match('#тут рег#i',$обрабатываем,$массив);

i - регистронезависимость нафиг не нужно тут )

удалено

Dos3 добавил 31.01.2011 в 22:00

ext3:
но вот навига "$val" , без обид вы код копипастите ?

$val - это строка в которой ищём, обрезаем и сохраняем(смотри цыкл)

E3
На сайте с 20.12.2010
Offline
18
#5
ext3:
preg_match

возращает вам строку ?

и

Dos3:
обрабатывает быстрее

удачи :)

у меня давно и упорно это не работает "//"

i - регистронезависимость нафиг не нужно тут )

а /U - нафиг тут нужно ?

короче ты не в теме

Совершенно , лень :)

Dos3
На сайте с 07.01.2011
Offline
363
#6
Dos3:
$массив - можно и массивом, но мне и строкой нравится, причём строку(в данной ситуации) обрабатывает быстрее

не так тебя понил, строку не в preg_match имел ввиду, а в preg_replace )

Dos3 добавил 31.01.2011 в 22:12

ext3, короче не надо умничать :), синтаксических ошибок тут нет, вверху просто не так тебя понил

Dos3 добавил 31.01.2011 в 22:15

ext3:
у меня давно и упорно это не работает "//"

эти ограничители могут быть любыми кроме спец символов, читай мануал

ext3:
а /U - нафиг тут нужно ?

жадность там нужна, так как

Dos3:
строки в файле забанены.txt в таком виде: http://miodowncanxi1970.фриха.ru/;ft...970;64744737;/

вобщем нужна там жадность )

Dos3 добавил 31.01.2011 в 22:17

ext3:
Совершенно , лень

спасибо что хоть попробовал помоч :)

E3
На сайте с 20.12.2010
Offline
18
#7
Dos3:
короче не надо умничат

Я собственно не умничаю.

Я удивляюсь , как так можно умудрится представить 5 строчек кода , которые не понятны совершенны. Как и ваши задачи :) а также их решение. Зелень сливаеться и давит на МОЗГ :)

p/s Может это только мне ?

Collapse
На сайте с 30.08.2009
Offline
68
#8

Чекай регулярки тут.

http://gskinner.com/RegExr/

Не получается с регулярками - делай без них.

sashka_
На сайте с 27.01.2010
Offline
103
#9


foreach($banned as $val){

preg_match("/(http:\/\/.*.фриха.ru)/U" , "$val" , $url);

//echo $url[1] . "<br>";

$links2 = preg_replace("#<a href=\"$url[1]\/.*\">.*<\/a>#U" , "" , $links);
}

в этом цикле, получается что последний круг останется в переменной, попробуй добавить точку перед равно.

Знаю PHP, JS, jQuery. Помощь для вашего сайта. (/ru/forum/840509).
Dos3
На сайте с 07.01.2011
Offline
363
#10
ext3:
Я удивляюсь , как так можно умудрится представить 5 строчек кода , которые не понятны совершенны. Как и ваши задачи а также их решение.

помоему тут всё просто, но может не так обьяснил

ext3:
Зелень сливаеться и давит на МОЗГ

хотел как лучше )

Collapse:
Чекай регулярки тут.

спасибо гляну

Collapse:
Не получается с регулярками - делай без них.

регулярки знаю хорошо, сдесь что ещё, переустановил денвер и возникла эта проблема, эти же регулярки раньше работали на ура, возможно нужно php.ini ковырять

Dos3 добавил 31.01.2011 в 22:54

sashka_:
в этом цикле, получается что последний круг останется в переменной, попробуй добавить точку перед равно.

жжошь :D

10 символов

12 3

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