php正则表达式如何匹配title?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php正则表达式如何匹配title?相关的知识,希望对你有一定的参考价值。
比如要将网页中的"<title>百度知道——提问问题</title>"提取出来,如何写正则表达式?
1、preg_match_all('/<title>(.*)<\/title>/',$file,$content);
2、preg_match_all('/<title>[^\a]*</title>/',$file,$content);
3、preg_match_all('/<title>[\s\S]+<\/title>/',$file,$content); 这三种都匹配不出来
php正则表达式匹配title的代码如下:
$file = "<title>百度知道——提问问题</title>";
preg_match_all('/<title>(.*)<\\/title>/i',$file,$content);
echo '<pre>';
print_r($content);
结果:
参考技术A <?php$s = '<a title="abc.jpg" href="fefefe">
<img src="xsdsd.jpg" alt=\'xxsd.jpg\' title="eeerrfff" />
</a>
<img src="xsdsd.jpg" alt="eeerrfff.pngxxsd" title="xxsd.jpg" />';
$pat = '/(<img.*?)((alt|title)=[\'"]+[^\'|"]*\.(jpg|gif|png|bmp)[\'"]+)/';
echo preg_replace($pat , '$1' , $s);<p>
</p> <p>
</p> <p></p> 参考技术B
$file = "<title>百度知道——提问问题</title>";
preg_match_all('/<title>(.*)<\\/title>/i',$file,$content);
echo '<pre>';
print_r($content);
结果:
追问谢谢你的用心,但是我刚刚发现问题了,问题不在正则表达式写错了,而是我是utf8写的php网站,要抓取gbk编码的网站的title,这个怎么破?
追答转码
$file = iconv('gbk','utf-8',$file);
PHP中正则表达式匹配字母
如题
网页代码为:<title>阿大使大赛的ABCDEFGH</title>
PHP代码:
<?php
$url='网页代码地址';
$info=file_get_contents($url);
preg_match('|<title>(.*?)<\/title>|i',$info,$m);
echo $m[1];
?>
要求只匹配这个标题后面的8个字母
有思路但不记得怎么写了
思路:前面汉字一个匹配文本 后面字母一个匹配文本
求实现啊 在线等
这个PHP代码是自己写的 能把标题全部匹配出来 但是我 只想取后面的8个字母!
因为标题的汉字字数不确定。但是后面8个大写字母可以确定
if (<a href="https://www.baidu.com/s?wd=preg_match&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d-m16sPhu9rH01P1n3PWN-0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHb4nHTvP1c4rHD1n1RsPHmd" target="_blank" class="baidu-highlight">preg_match</a>("/^[\x81-\xfe][\x40-\xfe]?/",$str))
return "首字母有中文";
return "首字母没中文";
echo test("中1231213");//首字母有中文
echo test("123中");//首字母没中文 参考技术A preg_match("/<title>.+?([A-Z]+)<\\/title>/i",$info,$m);
print_r($m);追问
没开电脑你测试过了吗
追答以上是关于php正则表达式如何匹配title?的主要内容,如果未能解决你的问题,请参考以下文章