⑴ 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..最后不进行任何处理就可以得到你说的那个效果...