10/10/2018, 09:30
Em rất cần sự giúp đở về đọc file trong php >''<
Em muốn viết một code php như sau:
Em sẽ đọc 1 file php từ http://domain.com/index.php trong này có nội dung đơn giản như sau:
<html>
<a href="http://yahoo.com/">yahoo</a>
</html>
Em muốn đọc và ghi lại địa chỉ http://yahoo.com/ vào một biến tên là $url.
Em mò mãi ko biết phải làm thế nào, rất mong được sự giúp đở của các bác, Em xin đội ơn ạ.
[=========> Bổ sung bài viết <=========]
Giúp mình với >'<.
The message you have entered is too short
Em sẽ đọc 1 file php từ http://domain.com/index.php trong này có nội dung đơn giản như sau:
<html>
<a href="http://yahoo.com/">yahoo</a>
</html>
Em muốn đọc và ghi lại địa chỉ http://yahoo.com/ vào một biến tên là $url.
Em mò mãi ko biết phải làm thế nào, rất mong được sự giúp đở của các bác, Em xin đội ơn ạ.
[=========> Bổ sung bài viết <=========]
Giúp mình với >'<.
The message you have entered is too short
Bài liên quan
Sau một hồi lục lọi mấy đoạn code cũ của em -> kiếm dc cái này, khá ok:
ini_set('user_agent', 'BossFTP');
var_dump(extracturl("http://www.bossftp.com/news.php"));
function extracturl($inurl) {
$contents=file_get_contents($inurl);
preg_match_all("|<a.*href=***91;'\"***93;(.*)***91;'\"***93;.*>.*</a>|U", $contents, $out);
$out=$out***91;1***93;;
$domain=parse_url($inurl, PHP_URL_SCHEME).'://'.parse_url($inurl, PHP_URL_HOST);
$dir=rtrim(dirname(parse_url($inurl, PHP_URL_PATH).'boss'), '\\/');
$urls=array($inurl);
$res=explode(' ', 'ftp:// ftps:// mms:// rstp:// mailto: callto: skype: aim: gtalk: ymsgr: javascript:');
foreach($out as $url) {
foreach($res as $s) {
if(stripos($url, $s)===0)
continue 2;
}
if(stripos($url, 'http://')===0 or stripos($url, 'https://')===0)
$s=$url;
elseif(substr($url, 0, 1)=='/')
$s=$domain.$url;
else
$s=$domain.$dir.'/'.$url;
if(!in_array($s, $urls)) {
$urls***91;***93;=$s;
}
}
return $urls;
}
array(9) {
***91;0***93;=>
string(31) "http://www.bossftp.com/news.php"
***91;1***93;=>
string(23) "http://www.bossftp.com/"
***91;2***93;=>
string(31) "http://www.bossftp.com/term.php"
***91;3***93;=>
string(31) "http://www.bossftp.com/help.php"
***91;4***93;=>
string(38) "http://www.bossftp.com/advertising.php"
***91;5***93;=>
string(34) "http://www.bossftp.com/contact.php"
***91;6***93;=>
string(51) "http://www.net2ftp.org/forums/viewtopic.php?id=3675"
***91;7***93;=>
string(51) "http://www.net2ftp.org/forums/viewtopic.php?id=3658"
***91;8***93;=>
string(39) "http://www.nsftools.com/tips/RawFTP.htm"
}
À nhân tiện hỏi bác luôn là em muốn lấy http://www.bossftp.com/ hiển thị lên thì ghi như nào bác ^^.
Vd : echo 'string(23)';
Em ko biết php nên bác thông cảm ạ ^^.
var_dump("http://www.bossftp.com/");
ví dụ em : return $urls[0];
nó sẽ ra : string(83) "http://www.bossftp.com/"
Em muốn bỏ cái dòng string(83) đi có được không bác nhỉ ^^.
Em cảm ơn bác lắm lắm lận.
Cái hàm extracturl sẽ trả về một array, mỗi phần tử là một url.
Nếu bác muốn lụm mỗi cái url đầu tiên thôi thì sửa
return $urls;
return $urls***91;0***93;;
echo extracturl('http://www.bossftp.com/');
function extracturl($inurl) {
$contents=file_get_contents($inurl);
preg_match_all("|<a.*href=***91;'\"***93;(.*)***91;'\"***93;.*>.*</a>|U", $contents, $out);
$out=$out***91;1***93;;
$domain=parse_url($inurl, PHP_URL_SCHEME).'://'.parse_url($inurl, PHP_URL_HOST);
$dir=rtrim(dirname(parse_url($inurl, PHP_URL_PATH).'boss'), '\\/');
$urls=array($inurl);
$res=explode(' ', 'ftp:// ftps:// mms:// rstp:// mailto: callto: skype: aim: gtalk: ymsgr: javascript:');
foreach($out as $url) {
foreach($res as $s) {
if(stripos($url, $s)===0)
continue 2;
}
if(stripos($url, 'http://')===0 or stripos($url, 'https://')===0)
$s=$url;
elseif(substr($url, 0, 1)=='/')
$s=$domain.$url;
else
$s=$domain.$dir.'/'.$url;
if(!in_array($s, $urls)) {
$urls***91;***93;=$s;
}
}
return $urls***91;0***93;;
}
function extracturl($inurl) {
$contents=file_get_contents($inurl);
preg_match("/<a.*href=***91;'\"***93;(.*)***91;'\"***93;.*>.*</a>/U", $contents, $out);
$url=$out***91;1***93;;
$domain=parse_url($inurl, PHP_URL_SCHEME).'://'.parse_url($inurl, PHP_URL_HOST);
$dir=rtrim(dirname(parse_url($inurl, PHP_URL_PATH).'boss'), '\\/');
$res=explode(' ', 'ftp:// ftps:// mms:// rstp:// mailto: callto: skype: aim: gtalk: ymsgr: javascript:');
foreach($res as $s) {
if(stripos($url, $s)===0)
continue 2;
}
if(stripos($url, 'http://')===0 or stripos($url, 'https://')===0)
$s=$url;
elseif(substr($url, 0, 1)=='/')
$s=$domain.$url;
else
$s=$domain.$dir.'/'.$url;
return $s;
}
Em rất cảm ơn sự giúp đở nhiệt tình của bác. KHi nào lên Đà Lạt em với bác đi cafe em trả công bác ^^.