當前位置:首頁 » 編程語言 » php獲取html代碼

php獲取html代碼

發布時間: 2022-08-15 03:04:41

php 獲取JS執行過後的html

PHP是後台伺服器語言,只會被動的等待客戶端連接。
如果你想要獲取執行JS後的代碼,可以用ajax來實現。
寫一個JS函數,獲取所有的HTML代碼,然後向伺服器端發出非同步請求,把代碼發出去就是了。

Ⅱ php從資料庫里讀出的HTML代碼然後執行怎麼實現

<?php require_once("mysql_class.php");
require_once("sys_conf.inc");
header('Content-Type:text/html;Charset=GBK;');
$link_id=mysql_connect($DBHOST,$DBUSER,$DBPWD);
mysql_select_db($DBNAME); //選擇資料庫my_chat
$sql="SELECT * FROM `dx_leibie`";
$query = mysql_query($sql);
while($row=mysql_fetch_array($query)){
//print_r($row); //$con=array(array('新聞標題','新聞內容'),array('新聞標題2','新聞內容2')); $title=$row[id_lang];
$content=$row[name];
if(!is_dir("up")) //如果此文件夾不存在,則自動建立一個
{
mkdir("up");
}$up="up/";
echo $path=$up.$row[id_lang].'.htm';
$fp=fopen("tmp.htm","r"); //只讀打開模板
$str=fread($fp,filesize("tmp.htm"));//讀取模板中內容
$str=str_replace("{title}",$title,$str);
echo $str=str_replace("{content}",$content,$str);//替換內容
fclose($fp); $handle=fopen($path,"w"); //寫入方式打開新聞路徑
fwrite($handle,$str); //把剛才替換的內容寫進生成的HTML文件
fclose($handle);
//echo "生成成功";
} // unlink($path); //刪除文件
?><?php require_once("mysql_class.php");
require_once("sys_conf.inc");
header('Content-Type:text/html;Charset=GBK;');
$link_id=mysql_connect($DBHOST,$DBUSER,$DBPWD);
mysql_select_db($DBNAME); //選擇資料庫my_chat
$sql="SELECT * FROM `dx_leibie`";
$query = mysql_query($sql);
while($row=mysql_fetch_array($query)){
//print_r($row); //$con=array(array('新聞標題','新聞內容'),array('新聞標題2','新聞內容2')); $title=$row[id_lang];
$content=$row[name];
if(!is_dir("up")) //如果此文件夾不存在,則自動建立一個
{
mkdir("up");
}$up="up/";
echo $path=$up.$row[id_lang].'.htm';
$fp=fopen("tmp.htm","r"); //只讀打開模板
$str=fread($fp,filesize("tmp.htm"));//讀取模板中內容
$str=str_replace("{title}",$title,$str);
echo $str=str_replace("{content}",$content,$str);//替換內容
fclose($fp); $handle=fopen($path,"w"); //寫入方式打開新聞路徑
fwrite($handle,$str); //把剛才替換的內容寫進生成的HTML文件
fclose($handle);
//echo "生成成功";
} // unlink($path); //刪除文件
?><?php require_once("mysql_class.php");
require_once("sys_conf.inc");
header('Content-Type:text/html;Charset=GBK;');
$link_id=mysql_connect($DBHOST,$DBUSER,$DBPWD);
mysql_select_db($DBNAME); //選擇資料庫my_chat
$sql="SELECT * FROM `dx_leibie`";
$query = mysql_query($sql);
while($row=mysql_fetch_array($query)){
//print_r($row); //$con=array(array('新聞標題','新聞內容'),array('新聞標題2','新聞內容2')); $title=$row[id_lang];
$content=$row[name];
if(!is_dir("up")) //如果此文件夾不存在,則自動建立一個
{
mkdir("up");
}$up="up/";
echo $path=$up.$row[id_lang].'.htm';
$fp=fopen("tmp.htm","r"); //只讀打開模板
$str=fread($fp,filesize("tmp.htm"));//讀取模板中內容
$str=str_replace("{title}",$title,$str);
echo $str=str_replace("{content}",$content,$str);//替換內容
fclose($fp); $handle=fopen($path,"w"); //寫入方式打開新聞路徑
fwrite($handle,$str); //把剛才替換的內容寫進生成的HTML文件
fclose($handle);
//echo "生成成功";
} // unlink($path); //刪除文件
?> 用以上先生成一個HTML文件,然後再用require_once("aaa.html");引進來就OK

Ⅲ php 讀取(解析)html文檔,並將讀取到的文檔轉為數組(數組保留html嵌套格式)

可以使用正則表達式來解決這個問題

具體的代碼很多不詳細寫了,舉個例子給題主吧

<?php

$htmlStr='<li>首頁</li>';
preg_match_all('/<li>.*?</li>/',$htmlStr,$res);
$ret=preg_replace('/(<li>|</li>)/','',$res[0][0]);

//輸出res
//var_mp($res);

echo$ret;

最終輸出的結果為:首頁

在這個例子上題主所需要的值基本都可以用正則演算法過濾出來

希望能幫到題主

如果可以,還請採納

Ⅳ PHP如何獲取需要登陸後才能看到的網頁HTML代碼

實際上是個模擬登陸的問題,需要寫個登陸模塊,解決兩個問題:
1,請求登陸並刷新的函數部分:

<?php
/*****************函數部分**************************/
/*獲取指定網頁的內容
$url為網頁地址
*/
function getcontent($url){
if($open=file($url)){
$count=count($open);
for($i=0;$i<$count;$i++)
{
$theget.=$open[$i];
}
}else{
die('請求過多,超時,請刷新');
}
return $theget;
}
?>
2,偷取程序部分,也分兩部分,
1),PHP與XML不同之處是需要特殊的調用才能支持COOKIE.或者記錄SessionID(後面有說明程序)

php代碼如下
<?PHP
//登陸並保存COOKIE
$f = fsockopen("www.url.net",80);
$cmd = <<<EOT
GET /test/login.php?name=test&password=test HTTP/1.0

EOT;
fputs($f,$cmd);
$result = '';
$cookie = '';
$location = '';
while($line = fgets($f))
{
$result .= $line;
//取得location跟setCookie頭HTTP頭信息
$tmp = explode(":",$line);
if($tmp[0]=="Set-Cookie")
$cookie .= $tmp[1];
if($tmp[0]=="Location")
$location = $tmp[1];
}
fclose($f);
2),獲取頁面
//下面訪問你要訪問的頁面(這部分也可以參考下面的核心常式)
$f = fsockopen("www.url.net",80);l
//下面的cookie就是發送前頁保存下的的cookie
$cmd = <<<EOT
GET /test/test.php HTTP/1.0
cookie:$cookie

EOT;
fputs($f,$cmd);
while($line = fgets($f))
{
echo $line;
}
fclose($f);
?>

核心常式就是fsockopen();
不妨再給段代碼你瞧瞧:
--------------------------------------------------------------------------------

function posttohost($url, $data)
{
$url = parse_url($url);
if (!$url) return "couldn't parse url";
if (!isset($url['port'])) { $url['port'] = ""; }
if (!isset($url['query'])) { $url['query'] = ""; }
$encoded = "";
while (list($k,$v) = each($data))
{
$encoded .= ($encoded ? "&" : "");
$encoded .= rawurlencode($k)."=".rawurlencode($v);
}
$fp = fsockopen($url['host'], $url['port'] ? $url['port'] : 80);
if (!$fp) return "Failed to open socket to $url[host]";
fputs($fp, sprintf("POST %s%s%s HTTP/1.0", $url['path'], $url['query'] ? "?" : "", $url['query']));
fputs($fp, "Host: $url[host]");
fputs($fp, "Content-type: application/x-www-form-urlencoded");
fputs($fp, "Content-length: " . strlen($encoded) . "");
fputs($fp, "Connection: close");
fputs($fp, "$encoded");
$line = fgets($fp,1024);
if (!eregi("^HTTP/1\\.. 200", $line)) return $line ;
$results = ""; $inheader = 1;
while(!feof($fp))
{
$line = fgets($fp,1024);
if ($inheader && ($line == "" || $line == "\r")) {
$inheader = 0;
}
elseif (!$inheader) {
$results .= $line;
}
}
fclose($fp);
return $results;
}
$data=array();
$data["msg"]="HELLO THIS IS TEST MSG";
$data["Type"]="TEXT";
echo posttohost("http://url/xxx", $data);

應該說明白了吧?
另外登陸部分還有一種簡單方法是把SessionID保存下來

源代碼:

<?php
/*
* 得到網頁內容
* 參數:$host [in] string
* 主機名稱(例如: www.url.com.cn)
* 參數:$method [in] string
* 提交方法:POST, GET, HEAD ... 並加上相應的參數( 具體語法參見 RFC1945,RFC2068 )
* 參數:$str [in] string
* 提交的內容
* 參數:$sessid [in] string
* PHP的SESSIONID
*
* @返回 網頁內容 string
*/
function GetWebContent($host, $method, $str, $sessid = '')
{
$ip = gethostbyname($host);
$fp = fsockopen($ip, 80);
if (!$fp) return;
fputs($fp, "$method\r\n");
fputs($fp, "Host: $host\r\n");
if (!empty($sessid))
{
fputs($fp, "Cookie: PHPSESSID=$sessid; path=/;\r\n");
}
if ( substr(trim($method),0, 4) == "POST")
{
fputs($fp, "Content-Length: ". strlen($str) . "\r\n"); // 別忘了指定長度
}
fputs($fp, "Content-Type: application/x-www-form-urlencoded\r\n\r\n");
if ( substr(trim($method),0, 4) == "POST")
{
fputs($fp, $str."\r\n");
}
while(!feof($fp))
{
$response .= fgets($fp, 1024);
}
$hlen = strpos($response,"\r\n\r\n"); // LINUX下是 "\n\n"
$header = substr($response, 0, $hlen);
$entity = substr($response, $hlen + 4);
if ( preg_match('/PHPSESSID=([0-9a-z]+);/i', $header, $matches))
{
$a['sessid'] = $matches[1];
}
if ( preg_match('/Location: ([0-9a-z\_\?\=\&\#\.]+)/i', $header, $matches))
{
$a['location'] = $matches[1];
}
$a['content'] = $entity;
fclose($fp);
return $a;
}

/* 構造用戶名,密碼字元串 */
$str = ("username=test&password=test");
$response = GetWebContent("localhost","POST /login.php HTTP/1.0", $str);
echo $response['location'].$response['content']."<br>";
echo $response['sessid']."<br>";
if ( preg_match('/error\.php/i',$response['location']))
{
echo "登陸失敗<br>";
} else {
echo "登陸成功<br>";
// 不可以訪問user.php,因為不帶sessid參數
$response = GetWebContent("localhost","GET /user.php HTTP/1.0", '', '');
echo $response['location']."<br>"; // 結果:error.php?errcode=2

// 可以訪問user.php
$response = GetWebContent("localhost","GET /user.php HTTP/1.0", '', $response['sessid']);
echo $response['location']."<br>"; // 結果:user.php
}
?>

Ⅳ php讀取html

preg_match('/<p align=\"center\"><big><strong>(.*?)<\/strong><\/big><\/p>/',$str,$result);
$str就是上面的html裡面的內容,$result就是匹配到的字元串,你可以print_r($result);看看裡面就有你要的結果,或者直接echo $result[1];就是
「在LINUX下配置MYSQL、PHP和JSP」這幾個字元了
請採納。

Ⅵ php怎麼調用html

看來你並不了解PHP到底是什麼?

PHP: Hypertext Preprocessor,中文名:「超文本預處理器」

你可能以為PHP 和HTML是兩種不同的語言,

其實PHP只是嵌套HTML中的相當於腳本的語言,最終還是以HTML為核心.


假如把 HTML 比如一個鮮肉包, 你可能認為PHP 是麵粉或者鮮肉 這種 原材料之一...

但其實 PHP 只是膨化機或者添加劑的角色...沒有PHP的時代一樣有HTML頁面..

理解這層,再看這個問題就非常簡單了:

<?php
functionindex(){
?><h>這是HTML</h><?php
}
?>

就是這么簡單....因為PHP本身就是嵌套HTML中,所以以 ?>結束PHP之後就可以輸出HTML,再要進行PHP代碼 再以 <?php 開始.....

Ⅶ php讀取html指定部分

<?php
$re='/<li title=([^:]*):([^<]*)<\/li>/';
$x_goods='<li title="貨號">貨號:252-26-002252</li>
<li title="性別">性別:女</li>
<li title="款式">款式:手拿包</li>
<li title="背包方式">背包方式:手抓</li>
<li title="背包部位">背包部位:手部</li>
<li title="質地">質地:牛皮</li>
<li title="提拎部件">提拎部件:鎖鏈式提把</li>
<li title="內部結構">內部結構:拉鏈暗袋 夾層拉鏈袋
</li>
<li title="品牌">品牌:Tucano/義大利啄木鳥</li>
<li title="風格">風格:甜美淑女</li>
<li title="箱包外形">箱包外形:橫款方形</li>
<li title="顏色">顏色:白色</li>
<li title="有無夾層">有無夾層:有</li>
<li title="有無拉桿">有無拉桿:無</li>
<li title="有無手腕帶">有無手腕帶:有</li>
<li title="價格區間">價格區間:101-500元</li>
<li title="成色">成色:全新</li>
';
if(preg_match_all($re,$x_goods,$matches)){
print_r($matches[2]);
//$daya=explode(' ',trim($matches[5][0]));
}
exit;
?>

Ⅷ php 如何獲取一個.html文件裡面的所有代碼

你對著這個網頁點右鍵,裡面有查看源代碼,就是TXT格式的,你考下來就行
不知道這樣說對不對。。。路過

Ⅸ PHP中應該如何獲取html代碼中的信息

看示例:

-----a.htm---------:
<form action=b.php method=post>
<input type=text name=aaa>
<input type=submit value=提交>
</form>

-----b.php---------:
<?php
$aaa=$_POST["aaa"];
echo "$aaa";
?>

熱點內容
一台伺服器多個同段地址怎麼通訊 發布:2025-01-20 16:45:58 瀏覽:734
i7源碼 發布:2025-01-20 16:40:48 瀏覽:983
抽簽源碼 發布:2025-01-20 16:38:35 瀏覽:62
密碼箱怎麼鎖住 發布:2025-01-20 16:32:17 瀏覽:31
編譯隔離 發布:2025-01-20 16:28:54 瀏覽:358
從哪裡看自己的qq賬號和密碼 發布:2025-01-20 16:22:33 瀏覽:400
sql語句動態 發布:2025-01-20 16:18:22 瀏覽:298
sql表或的語句 發布:2025-01-20 16:00:49 瀏覽:163
西瓜視頻怎麼緩存不了電影了 發布:2025-01-20 16:00:45 瀏覽:890
javatimer 發布:2025-01-20 15:55:56 瀏覽:64