1. php 讀取(解析)html文檔,並將讀取到的文檔轉為數組(數組保留html嵌套格式)
可以用file函數進行操作<?php header('Content-Type:text/html;charset=utf-8'); $arr = file(文件路徑); $data = array(); if($arr) { foreach($arr as $vo) { if(strpos(":") > 0) { //這邊看到你文檔裡面的是中文的":" $tmp = @explode(":", $vo); $data[] = array( "name" => $tmp[0], "value" => $tmp[1], ); } } } var_mp($data); //一下就可以看到解析出來的內容了?>
2. 怎麼讓html識別php代碼
利用php解析html沒有現成的方法,需要利用第三方插件PHP Simple HTML DOM Parser,它可以以類似jQuery的方式通過css選擇器來返回指定的DOM元素,功能十分強大。
1、首先要在程序的開始引入simple_html_dom.php這個文件
參考代碼:include_once('simple_html_dom.php');
2、PHP Simple HTML DOM Parser提供了3種方式來創建DOM對象
參考代碼如下:
// Create a DOM object from a string
$html = str_get_html('<html><body>Hello!</body></html>');
// Create a DOM object from a URL
$html = file_get_html('http://www.google.com/');
// Create a DOM object from a HTML file
$html = file_get_html('test.htm');
得到DOM對象後就可以進行各種操作了
// Find all anchors, returns a array of element objects
$ret = $html->find('a');
// Find (N)th anchor, returns element object or null if not found (zero based)
$ret = $html->find('a', 0);
// Find lastest anchor, returns element object or null if not found (zero based)
$ret = $html->find('a', -1);
// Find all <div> with the id attribute
$ret = $html->find('div[id]');
// Find all <div> which attribute id=foo
$ret = $html->find('div[id=foo]');
3. 求教:php讀取html標簽中內容,插入到資料庫
php可以使用 fopen 打開文件 然後fread讀文件。或者你可以使用file_get_contents獲取文件內容。
然後連接資料庫,把或者的內容,當成一個欄位插入到資料庫對應的欄位里
4. php中從編輯器讀取出來的帶有html標簽,應該則樣解決
strip_tags 函數即可
5. 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
6. php正則表達式截取HTML標簽中的內容
header('content-type:text/html;charset=utf-8');
$str='<li><ahref="/news1397/"title="1827年3月5日義大利物理學家伏打逝世">1827年3月5日義大利物理學家伏打逝世</a></li>
<li><ahref="/news1398/"title="1871年3月5日波蘭女革命家盧森堡誕辰">1871年3月5日波蘭女革命家盧森堡誕辰</a></li>
<li><ahref="/news1399/"title="1886年3月5日董必武誕辰">1886年3月5日董必武誕辰</a>(圖)</li>';
preg_match_all('/<a.*>(.*)</a>/im',$str,$matches);
var_mp($matches[1]);
7. php輸出html標簽的問題
php輸出html標簽需要轉義。
比如要輸出:<a href=test>Test</a>整個字元串,那麼需要這么寫:
echo "<a href=test>Test<\/a>";
8. php獲取html標簽內容
$pattern='#<ahref="([^"]*?)"title="([^"]*?)"#i';
$str='上面的標簽內容';
if(preg_match($pattern,$str,$match)){
var_mp($match[1],$match[2]);
}else{
//匹配失敗
}
9. php如何處理html標簽
需要用到一個函數實現,htmlentities,就是將字元串轉換成html實體,用法你可以查一下php手冊,同時它還有個反函數,htmlspecialchars_decode
10. php中從mysql讀取帶有html代碼的文字
你可以先從mysql讀取出來作為變數,使用strip_tags過濾掉變數的 html,div等相關的代碼,把純文本內容顯示在你的div中,如果內容純文本過多,你可以截取前面某些漢字 作為內容導讀,再超級連接到詳細頁面!!!
<?php
$str = $vars; //你的mysql讀取出來的html變數;
$str = strip_tags($str ); //過濾掉 html,div等相關的代碼
echo '<div>'.$str .'</div>'; //顯示出純文本內容;
//或者, 顯示前面部分漢字作為導讀。
echo '<div>'.substr($str,0, 100) .'</div>'; //顯示出前50個純文本漢字
?>