⑴ php截取指定html標簽之間的字元串
$strPath = '這個html的路徑';
curl_setopt ($ch, CURLOPT_URL, $strPath);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$contents = curl_exec($ch);
if($contents){
$intH1start= strpos($contents, '<h1>');//這樣的前提是這個頁面只有一個<h1>標簽
$intH1end = strpos($contents, '</h1>');//如果有多個則會取不準
$strH1 = substr(contents,$intH1start,$intH1end);
}
試試以上的方法,如果可以的話請採納,有問題的話,請追問或留言
⑵ 用php正則表達式獲取html標簽內的值
如果只是想獲得
LT-B2F02257-C051-CF98-1E2189EE92E7EDE2
這個值的話,用不著正則,根據你form的提交方式$_GET['lt'] 或者 $_POST['lt'] 或者
$_REQUEST['lt']都可以得到這個值。正則只有當你想再從這個值中提取特定值的時候才可能有用武之地。
⑶ 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); //一下就可以看到解析出來的內容了?>
⑷ php獲取html標簽內容
$pattern='#<ahref="([^"]*?)"title="([^"]*?)"#i';
$str='上面的標簽內容';
if(preg_match($pattern,$str,$match)){
var_mp($match[1],$match[2]);
}else{
//匹配失敗
}
⑸ php中調用html中的元素
要想利用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');
3、得到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]');
⑹ PHP的GET用法
先來解決你的問題,再來詳細討論GET的詳細解釋:
因為你的show.php是GET的目標網頁,那麼就在這個目標網頁中加入如下代碼即可實現你所要求的功能:
echo $_GET['id'];
下面我們針對GET進行一下詳細的解釋來加深你對GET的理解:
GET是網頁傳值常用的一種方式,它能夠將緊跟在域名後第一個問號後的值或者&符號後面的值以GET數組的形式接收進頁面,用幾個實例看一看:
http://www..com/.php?name=4
這個域名就需要在.php中出現這樣的語句就可以取到那個數值4:
$_GET[name];
http://www..com/sosuo.php?id=6&ppt=lost&time=last
在這種情況下,在sosuo.php頁面中加入如下代碼便可以得到三個值:
$_GET[id];//得到數字6
$_GET[ppt];//得到字元串lost
$_GET[time];//得到字元串last
以上的例子就是php中接收GET傳值的方法。
那麼,除了自行寫域名進行傳值以外,還有沒有其它的方法進行GET傳值呢?答案是有的,最為典型的方法是使用form表單,再看下面的例子:
<form action="let.php" method="get" name="form">
<input name="name" type="text" value="12345>" />
<input name="haha" type="submit" value="submit" />
</form>
這是在html中最為常見的一種表單,出現在一些要求用戶輸入的地方,這裡面總計有兩個input,那麼當點擊「submit」這個按鈕之後,表單會自動在域名中生成類似上述例子的寫法:
let.php?name=12345&haha=submit
這個時候,根據上面所講過的方法,想必你一定知道如何使用它了吧?這種方法經常出現在php的頁面傳值中。換個說法,就是兩個頁面之間(或者自身頁面取值)時經常使用的一種傳值方法。
除此之外,還有POST傳值方式、SESSION和COOKIE傳值幾種方法,但除GET和POST之外,其它傳值方式應盡量避免使用。
以上這些都是剛剛接觸php時在頭腦中比較模糊的一些概念,還是建議你進行一下系統的學習,html、域名、js甚至是和其它語言之間進行傳值的方式也將隨著你系統學習的深入漸漸清晰起來。
最後祝你學習成功。
⑺ php修改html標簽
首先建立一個頁面,命名為:test.html如下
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>模板</title>
</head>
<body>
{$content}
</body>
</html>
需求:讀取{$content}並輸出用戶想輸出的內容。
其次建立另一個頁面,mytest.php代碼如下:
<?php
//給$content賦值,且是字元串的形式
$content = '我最近在讀廖一梅的《像我這樣笨拙的生活》';
//讀取test.html文件中的所有內容,並以字元串的形式返回
$fileContent = file_get_contents('test.html');
//從$fileContent字元串中把{$content}替換為$content的內容,並返回字元串
$str = str_replace('{$content}',$content,$fileContent);
//最後輸出內容
echo $str;
?>
最後,通過頁面 訪問,可以訪問到內容,結果如下:
總結:這其實只是php中最基本的一個例子,也算是一個思想吧,主要是為Smarty做鋪墊。如有不妥,歡迎指正,謝謝!!
⑻ PHP處理解析HTML字元串的幾種方法
1.strip_tags() 函數:可以過濾掉HTML和PHP標簽,返回一個全新的字元串!
用法:
string strip_tags ( string 要處理的字元串 [, string 想保留的標簽] )
比如: 標簽,就這樣寫,strip_tags($str, 「」) ,如果要保留多個標簽,則標簽之間用空格隔開。
2.用 strpos , substr 混合處理
當我們要截取的字元串,有唯一的標識時,通常可以用這個辦法,比如取一個帶唯一id的標簽abc,只要找到和,中間的內容就都出來了。
3.PHP DOMDocument
DOMDocument 提供的方法是輸出沒有任何標簽的純文本,如果你只需要文本數據,那用這個方法最簡單拉
⑼ PHP 正則表達式截取HTML
正則查詢的時候 使用 preg_match_all 函數吧
他能獲取 所有匹配的 字元串然後裝進 數組里。
還有你說的 多個行里的 匹配 找不出來 , 需要加 修飾符 s
可以這樣 preg_match_all("/<form>(.+)<\/form>/isU" , $string, $tea)
這里/ 後面加了 3個修飾符
i 是 不區分大小寫的匹配
s 是 帶有換行的 匹配
U 是非貪婪模式。匹配最少部分。
⑽ PHP裡面,怎麼去除提交上來的HTML標簽。
你的這個問題有點模糊..
你說的意思是.我在FCK里輸入一段<p>1</p> 你要求顯示內容的時候是1.而不是<p>111</p>...這種情況..FCK本身提供了原碼的輸入方式,而當你沒有採用原碼的形式的時候..也就是普通模式.那麼FCK會將你輸入的內容轉換成HTML實體來顯示..顯示出來後的結果就是<p>111</p>...
還有另一種解決方法..
strtr($str,array_filp(get_html_translation_table(HTML_ENTITIES)));
這樣..它就將已經轉換成文本內容再次轉換成HTML.
如果你說的是這種情況.那麼我建議你不要用FCK了.因為你本身就是想輸入HTML代碼的....如果用FCK.他就會幫你轉換成實體....如果你只是利用了一般的TEXTAREA..就可以直接輸入HTML..最後不進行任何處理就可以得到你說的那個效果...