给定一个seed url:
$url = 'http://www.news.com.au/technology';
$host = 'www.news.com.au';要求只在这个host下,得到<a href...></a>里面的包含"....$host/technology/..."全部网址(原来的每个url都没有后缀),以及这些网址的标题("<a></a>" 里面包含的文字内容就是新闻的标题也要得到)怎么实现以上要求?主要是正则表达式怎么写?谢谢!
$url = 'http://www.news.com.au/technology';
$host = 'www.news.com.au';要求只在这个host下,得到<a href...></a>里面的包含"....$host/technology/..."全部网址(原来的每个url都没有后缀),以及这些网址的标题("<a></a>" 里面包含的文字内容就是新闻的标题也要得到)怎么实现以上要求?主要是正则表达式怎么写?谢谢!
解决方案 »
- ajax局部刷新里innerHTML里的JS无法执行
- PHP+Oracle分页问题请教!!!
- JavaScript如何读取php设置的cookie
- 做asp客户已经做的我要疯了,大家看看这个水平能在广州找到php工作不,大概能有多少?
- 2007 PEA苏州 & PEA南京PHPER聚会召集令[苏州]
- 在线等
- Warning: date(): Windows does not support dates prior to midnight (00:00:00), January 1, 1970
- 那里有免费的红旗linux服务器版下载,试用版也可以!!!
- 论坛源代码
- 编php用什么最好?
- 求亿起发开放平台API调用demo
- webbench 测试问题
//功能:将文本中的链接地址转成HTML
//输入:字符串
//输出:字符串
function url2html($text)
{
//匹配一个URL,直到出现空白为止
preg_match_all("/http:\/\/?[^\s]+/i", $text, $links);
//设置页面显示URL地址的长度
$max_size = 40;
foreach($links[0] as $link_url)
{
//计算URL的长度。如果超过$max_size的设置,则缩短。
$len = strlen($link_url);
if($len > $max_size)
{
$link_text = substr($link_url, 0, $max_size)."...";
} else {
$link_text = $link_url;
}
//生成HTML文字
$text = str_replace($link_url,"<a href='$link_url'>$link_text</a>",$text);
}
return $text;
}
//运行实例
$str = “这是一个包含多个URL链接地址的多行文字。欢迎访问http://www.jb51.net”;
print url2html($str);
/*输出结果
这是一个包含多个URL链接地址的多行文字。欢迎访问<a href='http://www.jb51.net'>
http://www.jb51.net</a>
*/
?>
'/<a.*?(?: |\\t|\\r|\\n)?href=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim',
$html, $strResult, PREG_PATTERN_ORDER);