本文目录一览:
PHP 正则表达,如何取出HTML标签内的内容,不要标签名
假设你的内容为 $content = "你的内容";
思路如下:
用正则先匹配出divnode/div的内容,()直接以单元的形式就能匹配出不包含div/div的内容
$p = "%div(.*?)/div%si";
//如果div之间是纯文本 那么语句改为:$p = "%div([^]*?)/div%si";比较合适
preg_match_all($p, $content, $arr);
print_r($arr[1]);
怎么用php正则获得a标签内的文字啊
php中正则匹配只要使用这两个函数:
preg_match_all
preg_match
这里使用preg_match_all,代码如下:
$subject = 'a href="xxx.php"abc测试/a'; // 假设这是需要匹配的字符串
$pattern = '/a href="[^"]*"[^]*(.*)\/a/'; // 这是匹配的正则表达式
preg_match_all($pattern, $subject, $matches); // 开始匹配,该函数会把匹配结果放入 $matches数组中
echo "pre";
print_r($matches);
/**
结果是:
Array
(
[0] = Array
(
[0] = abc测试
)
[1] = Array
(
[0] = abc测试
)
)
*/
php用正则获取html标签内容
推荐使用querylist
?php
header("Content-type:text/html;charset=utf-8");
require 'QueryList/QueryList.class.php';
$url = "要抓取的网站";
$reg = array(
"title" = array("a","text"),
"src" = array("a","href"),
);
//$rang = "[id^=post-]";
$hj = QueryList::Query($url,$reg);
print_r($hj-jsonArr);
php 正则表达式 取出 li标签里的内容
可以写一个函数,获取到数组。
正则表达式是: a[^]*\s*([^]*)\s*/a\s*[^]*class="date"([^]*)
请对上面的 PHP中特殊符号进行转义。
$1 是内容,$2是日期
函数写法参考
?php
$str = '
ullia href="#"内容111/a/lilia href="#"内容111/a/lilia href="#"内容111/a/lilia href="#"内容111/a/li/ul
ollia href="#"内容2/a/lilia href="#"内容2/a/lilia href="#"内容2/a/lilia href="#"内容12/a/li/ol
';
$search = '/ul(.*?)\/ul/is';
preg_match_all($search,$str,$r,PREG_SET_ORDER );
print_r($r);
$search = '/ol(.*?)\/ol/is';
preg_match_all($search,$str,$r,PREG_SET_ORDER );
print_r($r);
?