есть переменная содержащая в себе html страницу полученую курлом, в ней множество ссылок вида <a amba="user:167771" id="usero" href="http://site.com/param"> мне нужно с помощью прег реплейса заменить их на пустоту. Сейчас попробую то что ты написал PHP: $ontent = preg_replace('<a amba="([^"])" id="usero" href="([^"])">', '', $content); echo $content; Остались ссылки шаблон для поиска урлов не предлогать, т.к. вашу маску буду использовать для несколько других целей, вообще у меня запланирована оставить ссылку текстом, обрезав тег <a></a>, я писал уже этот скрипт, но к сожалению хард умер. До этого использовал что то вроде этого PHP: preg_replace('<a amba="(.*)" id="usero" href="', '', $content); Ошметки дорезал с помощью str_replace Мне по сути нужно лишь регулярное выражение, которое можно вписать в кавычках, которое будет значить любое значение\символ\букву, оно выглядело как то так (.*) но были еще слеши, как ставить правильно слеши не помню. Вообщем, тяжело как то донести все это.... Задача Содержимое переменной $content = PHP: <a amba="user:16433460" id="usero" href="http://site.com/fsdgsdqg"> <a amba="user:144475460" id="usero" href="http://site.com/iuyyurtrec"> <a amba="user:75460" id="usero" href="http://site.com/mnbv"> Необходимо привести содержимое к виду: PHP: http://site.com/fsdgsdqg"> http://site.com/iuyyurtrec"> http://site.com/mnbv"> Дальше уже сам обкусаю, спасибо тем кто понял меня И спасибо тем кто пытается помочь =)
всем привет, немогу сам ничего поделать, подскажите что я передаю неправильно нужна зарегатся на сайте http://openmeta.org/120671/cms_personal Заголовки скрипт PHP: <? $b = array('a','b','c','d','e','f','g','i','h','j','k','l','m','n','o','p','q','r','s','t','u','w','x','y','z'); $rand1 = rand(0,24); $rand2 = rand(0,24); $rand3 = rand(0,24); $rand4 = rand(0,24); $rand5 = rand(0,24); $rand6 = rand(0,24); $rand7 = rand(0,24); $rand8 = rand(0,24); $rand9 = rand(0,24); $rand10 = rand(0,24); $rand11 = rand(0,9); $rand12 = rand(0,9); $rand13 = rand(0,9); $rand14 = rand(0,9); $rand15 = rand(0,9); $name = "$b[$rand1]$b[$rand2]$b[$rand3]$b[$rand4]$b[$rand5]$b[$rand6]$b[$rand7]$b[$rand8]$b[$rand19]$b[$rand10]"; $email = $name."@mail.ru"; $pass = "$rand11$rand12$rand13$rand14$rand15$b[$rand1]$b[$rand2]$b[$rand3]$b[$rand4]$b[$rand5]"; $cookiefile = "openmetaorg.txt"; $h = '"Content-Type" content="text/html; charset=utf-8"'; $post = "__form_auth=free&RETURN=back&REFERER=http://openmeta.org/&Posting=item&item.PARENT_ID=openmeta&item.TYPE_ID=AUTHOR&item.__new=1&item.Check=item.1&item.1.CHK=!%LOGIN&&%SAVE&item.1.ACT=fail&item.1.MSG=Не введено регистрационное имя!&item.LOGIN=$name&item.Check=item.2&item.2.CHK=!%PASS1&&%STATUS!=LOCKED&&%SAVE&item.2.ACT=fail&item.2.MSG=Не введен пароль!&item.PASS1=$pass&item.PASS2=$pass&item.Check=item.3&item.3.CHK=!%TITLE&&%SAVE&item.3.ACT=fail&item.3.MSG=Не введено полное имя!&item.TITLE=aaaaaaaaaaaaa&item.TITLE.REPR=Text&item.OPEN_INFO=ALL&item.Check=item.4&item.4.CHK=%EMAIL~(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)&&%SAVE&item.4.ACT=fail&item.4.MSG=Неверный E-mail!&item.Check=item.5&item.5.CHK=%EMAIL&&%EMAIL!~.+@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,6}|[0-9]{1,3})(\]?)&&%SAVE&item.5.ACT=fail&item.5.MSG=Неверный E-mail!&item.EMAIL=$email&item.NO_SEND=1&Use=item.NO_SEND&item.NO_SEND.EXPR=0ifempty&item.UIN=657558458&item.ABSTRACT=ddddddddddddd&item.ABSTRACT.REPR=Text&item.TEXT=<html>&<head>&<meta http-equiv=$h />&<title>communiware item </title>&</head>&<body>&</body>&</html>&item.TEXT.REPR=HTML&item.WYSIWYG=1&item.UPLOAD=Content-Type: application/octet-stream&item.UPLOAD_TYPE1=file&item.UPLOAD_PIC_FORTEXT1=Content-Type: application/octet-stream&item.UPLOAD_PIC_FORTEXT1_NAME=item.MailSpec=cms_registration_m(%ITEM_ID)html&Use=item.WRITTEN_ACCURACY&item.WRITTEN_ACCURACY.EXPR=UNKNOWN&ADDRESSEE=EDITOR_VIEW=ret_ids=ret_tpls=.cgifields=item.NO_LINT&.cgifields=item.NO_SEND&.cgifields=item.WYSIWYG&SAVE=Зарегистрироваться"; $cur=curl_init(); curl_setopt($cur, CURLOPT_URL, "http://openmeta.org/openmeta/cms_personal"); curl_setopt($cur,CURLOPT_USERAGENT,"Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10"); curl_setopt($cur,CURLOPT_COOKIEJAR,"$cookiefile"); curl_setopt($cur,CURLOPT_COOKIEFILE,"$cookiefile"); curl_setopt($cur,CURLOPT_RETURNTRANSFER,1); curl_setopt($cur, CURLOPT_POST, 1); curl_setopt($cur, CURLOPT_POSTFIELDS,$post); $ok = curl_exec($cur); curl_close($cur); echo $ok; ?> передаю заголовки точь в точь но ответ от сайта Неверный E-mail! почему??
Всем привет. Такая проблема: надо залогиниться на сайте, я все отправляю на login.php, мне в ответ выдаются cookie и происходит редирект на home.php, так надо выставить куки до редиректа, иначе не пускает. Как бы это провернуть?
Вроде CURL c параметрами CURLOPT_COOKIEFILE, CURLOPT_FOLLOWLOCATION - сам сохранит куки и использует их при редиректе.
Я тоже так думал, но почему то не выходит. Нужно чтобы куки передавались в хедерах, как "Cookie: ...", делаю без редиректа, отправляю запрос на логин, получаю куки, пихаю их в хедеры и делаю запрос на home.
PHP: <?php $url = 'http://heroeswm.ru/login.php'; $user = 'Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20100101 Firefox/17.0'; $headers = array('Host: www.heroeswm.ru', 'User-Agent: '.$user,'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3', 'Accept-Encoding: gzip, deflate', 'Connection: keep-alive', 'Referer: http://www.heroeswm.ru/login.php'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "LOGIN_redirect=1&login=Логин&pass=пароль"); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); //curl_setopt($ch, CURLOPT_AUTOREFERER, 1); $result = curl_exec($ch); echo $result . "<p>"; preg_match_all('/Set-Cookie: ((.*)=(.*);){0,}/',$result,$res); //немного изменил регулярку $cookie=''; print_r($res[1]); echo "<p>"; foreach ($res[1] as $value) { $cookie.= $value; } echo $cookie . "<p>"; //$cookieArray = explode('Set-Cookie: ', $cookie); //print_r($cookieArray); //curl_setopt($ch, CURLOPT_URL, 'http://heroeswm.ru/home.php'); //array_push($headers, "Cookie: ".$newcookie); //curl_setopt($ch, CURLOPT_POST, 0); //curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); //$result = curl_exec($ch); curl_close($ch); //echo $result; ?>
0o Chris o0, ня... PHP: <?php function auth($url){ $cookie = ''; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "LOGIN_redirect=1&login=testeste&lreseted=1&pass=1Aa____&preseted=1&x=112&y=25"); curl_setopt($ch, CURLOPT_COOKIE, $cookie); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20100101 Firefox/17.0'); curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt'); curl_close($ch); } function enter($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20100101 Firefox/17.0'); curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt'); $result = curl_exec($ch); echo $result; curl_close($ch); } auth("http://heroeswm.ru/login.php"); enter("http://www.heroeswm.ru/home.php"); ?>
Спасибо. Все куда проще... Еще небольшой вопрос, а каким образом "www" влияет на результат: с ним запрос проходит нормально, а без него ответ "301 Moved Permanently"?
код сапы Всем привет, такая проблма, не могу впихнуть сайт в сапу с таким кодом, ето всё я инклудом добавляю в index.php а сапа пишет что кода не нашол, я млин делаю неправильно? код
Ой, не хорошо ссылки прятать - пс плохо к такому относятся А вот по коду - добавь на страницу на время добавления Code: <!--check code--> и проблема решится (после добавления строку можно убирать)
Никаким, т.е. поддомен www не является обязательным, но многие его используют, как основной. Чаще всего не имеет разницы, запрашиваешь ты проект с www или без. Но есть проекты, которые настраиваются на работу только с www, или только без него. В частности ты попал на тот, что работает только с www, а 301 заголовок указывает на то, что Moved Permanently, т.е. документ перенесён навсегда. Ответ с таким заголовком подаётся вместе с Location хеадером, который указывает, куда именно перенесён документ. Для курла в твоём случае достаточно поставить PHP: curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1) что скажет курлу следовать всем редиректам.
Набросайте скрипт плз есть файл в нем разные данные из них надо спарсить хэши wordpress они еще заключены в # ,но в ## встречаются и другие данные я так понимаю- #$P$(.+)#
blesse, PHP: <?php preg_match_all('~#(\$P\$B.+)#~', file_get_contents('data.txt'), $matches); print_r($matches[1]);
всем привет,пишу хелпер. вот код PHP: <?php Class helper { public function __construct($helper) { $helper_list = array( 'br' => $this->br(), 'test1' => $this->test1(), ); array_search($helper,$helper_list); } public function br() { echo "br"; } public function test1() { echo "test1sss"; } } $helper = new helper('test1'); ?> почему вызывается обе функции одновременно? надо чтоб при вызове br() вызывало только его.
Здравствуйте! Скажите, плиз, в каком направлении лучше копать, есть следующая задача: имеется: сайт_хозяин - с него происходит управление сайтами_рабами сайт_раб_1 - имеет скрипт который выполняет команды (сейчас я просто передаю гет запрос вида cmd=1&=value=lalala, скрипт записывает lalala в файл 1.txt) сайт_раб_2 - идентичен сайту_рабу_1 сайт_раб_3 - идентичен сайту_рабу_1 Задача: Мне просто лень в ручную, в браузере передавать каждому сайту_рабу параметры гет. По этому я сделал сайт_хозяин, куда поместил 1 текст бокс и 1 кнопку и хочу одной кнопкой передать сразу 3-м сайтам_рабам параметры. И склоняюсь более к тому что бы переделать все под метод пост. Вопрос к вам, специалисты(т.к. я в пхп ноль): В какую сторону копать ? курл, сокеты, еще какая-то фигня ? Заранее спасибо! (За пример вообще буду счастлив по уши) =)