php 正则 抓取网页(什么是HTML标签?HTML函数非常适合图片怎么用图片 )
优采云 发布时间: 2021-10-27 07:18php 正则 抓取网页(什么是HTML标签?HTML函数非常适合图片怎么用图片
)
获取文本内容第一张图片的功能在程序开发中很常见。不管你用“获取文本内容的第一张图片”作为缩略图还是其他东西,这都是必不可少的,今天碰巧遇到了,所以顺便做个笔记。
第一种方法:preg_match
因为 preg_match() 将在第一次匹配后停止搜索。这个功能非常适合代码“获取文章内容的第一张图片”。
代码:
$content = '<p>/public/uploads/images/2020/10/453535_5f868c0014b66.jpg?x88036
/public/uploads/images/2020/10/453535_5f3a3f7aacc62.jpg?x88036
这是:付杰博客(www.fujieace.com)测试:PHP正则匹配“获取文章内容第一张图片”代码';
$pattern="/
string(129) "/public/uploads/images/2020/10/453535_5f868c0014b66.jpg?x88036"
[1]=>
string(55) "/public/uploads/images/2020/10/453535_5f868c0014b66.jpg"
}</p>
第二种方法:preg_match_all
preg_match_all() 它将继续搜索匹配项,直到到达末尾。
代码:
$content = '<p>/public/uploads/images/2020/10/453535_5f868c0014b66.jpg?x88036
/public/uploads/images/2020/10/453535_5f3a3f7aacc62.jpg?x88036
这是:付杰博客(www.fujieace.com)测试:PHP正则匹配“获取文章内容第一张图片”代码';
$pattern="/
array(2) {
[0]=>
string(129) "/public/uploads/images/2020/10/453535_5f868c0014b66.jpg?x88036"
[1]=>
string(129) "/public/uploads/images/2020/10/453535_5f3a3f7aacc62.jpg?x88036"
}
[1]=>
array(2) {
[0]=>
string(55) "/public/uploads/images/2020/10/453535_5f868c0014b66.jpg"
[1]=>
string(55) "/public/uploads/images/2020/10/453535_5f3a3f7aacc62.jpg"
}
}</p>
第三种方法:HTML标签编码,如何:正则匹配“获取文章内容的第一张图片”?
相信大家都知道PHP有两个功能:
1、htmlentities() 函数将字符转换为 HTML 实体。
2、html_entity_decode() 函数,HTML 实体被转换回字符。
什么是 HTML 实体?如下:
<p>www.fujieace.comgt;</p>
什么是 HTML 字符?也可以直接理解为HTML标签!如下:
<p>www.fujieace.com</p>
正好我今天也遇到了这种情况。收到我的文章 POST后,都自动转成HTML实体,也就是所谓的编码。出现这种情况不是因为我使用了相关功能,而是因为我使用的编辑器自带了这个功能。出于安全原因,它会自动对所有 HTML 标签进行编码。
如果是这种情况,则需要修改正则匹配图片,如下:
代码:
$content = '<p>/public/uploads/images/2020/10/453535_5f86b4d3f06f3.jpg
/public/uploads/images/2020/10/453535_5f86b4dc64dd0.jpg
这是:付杰博客(www.fujieace.com)测试:PHP正则匹配“获取文章内容第一张图片”代码
gt;';
$pattern="/
string(174) "