Очистите определенную область содержимого сайта с помощью безопасного входа

Я пытаюсь очистить некоторый конкретный текст веб-сайта, вход в систему которого защищен. Вот учебник по этому вопросу с использованием curl http://www.digeratimarketing.co.uk/2008/12/16/curl-page-сценарийочистки/

Но я не могу реализовать это в своих кодах curl, вот мой скрипт curl

$url = "http://aftabcurrency.com/login_script.php";

$ch = curl_init();    
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt($ch, CURLOPT_URL, $url); 
$cookie = 'cookies.txt';
$timeout = 30;

curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_TIMEOUT,         10); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,  $timeout );
curl_setopt($ch, CURLOPT_COOKIEJAR,       $cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE,      $cookie);

curl_setopt ($ch, CURLOPT_POST, 1); 
curl_setopt ($ch,CURLOPT_POSTFIELDS,"user_name=user&user_password=pass&passcode=code");     

$result = curl_exec($ch); 
curl_close($ch); 
$source = $result;
if(preg_match("/(CC3300\">)(.*?)(<\/font>)/is",$source,$found)){
echo $found[2];
}else{
echo "Text not found.";
}

например, на aftabcurrency.com я хочу удалить только «Наши услуги имеют значение!» (текст меняется каждый день)


person user1447187    schedule 25.06.2012    source источник
comment
Вам не нужно входить в систему, чтобы очистить наши услуги! Он также отображается для незарегистрированных пользователей, так что вы можете избавить себя от этой проблемы!   -  person Emil Vikström    schedule 25.06.2012
comment
Я знаю, но это был просто пример. Я хочу скопировать некоторый текст на защищенную страницу входа.   -  person user1447187    schedule 25.06.2012


Ответы (1)


то, что я бы сделал, это «вырезать» текст между началом и началом... в источнике текст начинается с цвета текста 613A75 и с закрывающим тегом ‹ /font> .. вот решение регулярного выражения:

$source = file_get_contents("http://aftabcurrency.com/index.php");
if(preg_match("/(613A75\">)(.*?)(<\/font>)/is",$source,$found)){
echo $found[2];
}else{
echo "Text not found.";
}

если вы хотите сделать это со своим текстом внутри пользовательской области, добавьте мой источник здесь к вашему источнику и замените $source = file_get_contents... на $source = $result

есть и другой способ сделать это, DomDocument и xpath или простые функции strpos/strstr/substr php.

person MilMike    schedule 30.06.2012
comment
Я сделал, как вы упомянули, но я всегда получаю текст не найден, см. код, который я отредактировал выше в исходном вопросе. - person user1447187; 30.06.2012
comment
источник работает только для aftabcurrency.com/index.php и для текста Наша служба имеет значение - теперь вы предоставил мне новый исходный код с веб-сайта, что вы хотите там скрапить? - person MilMike; 01.07.2012
comment
Я хочу очистить содержимое защищенной страницы входа в систему. Источник, который я указал выше, предназначен для защищенной страницы входа. Я хочу очистить эту часть. - person user1447187; 01.07.2012