检查网址是否有效以及php中的有效XML
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了检查网址是否有效以及php中的有效XML,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2165字,纯文字阅读大概需要4分钟。
内容图文
![检查网址是否有效以及php中的有效XML](/upload/InfoBanner/zyjiaocheng/730/311ca65935374aa6b320275ba840bfa5.jpg)
我想读一个RSS源并存储它.为此我使用: –
<?php
$homepage = file_get_contents('http://www.forbes.com/news/index.xml');
$xml = simplexml_load_string($homepage);
echo '<pre>';
print_r($xml);
?>
但首先我想检查一下
1.URL是否有效,表示其响应时间是否为
$homepage = file_get_contents('http://www.forbes.com/news/index.xml');
不到1分钟,网址是正确的
2.然后检查文件(http://www.forbes.com/news/index.xml)是否有有效的XML数据.
如果有效的XML然后显示响应时间,则显示错误.
回答我的问题:
感谢大家的帮助和建议.我解决了这个问题.为此,我写了这段代码
<?php
// function() for valid XML or not
function XmlIsWellFormed($xmlContent, $message) {
libxml_use_internal_errors(true);
$doc = new DOMDocument('1.0', 'utf-8');
$doc->loadXML($xmlContent);
$errors = libxml_get_errors();
if (empty($errors))
{
return true;
}
$error = $errors[ 0 ];
if ($error->level < 3)
{
return true;
}
$lines = explode("r", $xmlContent);
$line = $lines[($error->line)-1];
$message = $error->message . ' at line ' . $error->line . ': ' . htmlentities($line);
return false;
}
//function() for checking URL is valid or not
function Visit($url){
$agent = $ch=curl_init();
curl_setopt ($ch, CURLOPT_URL,$url );
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch,CURLOPT_VERBOSE,false);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_SSLVERSION,3);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE);
$page=curl_exec($ch);
//echo curl_error($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($httpcode>=200 && $httpcode<300) return true;
else return false;
}
$url='http://www.forbes.com/news/index.xml';
if (Visit($url)){
$xmlContent = file_get_contents($url);
$errorMessage = '';
if (XmlIsWellFormed($xmlContent, $errorMessage)) {
echo 'xml is valid';
$xml = simplexml_load_string($xmlContent);
echo '<pre>';
print_r($xml);
}
}
?>
解决方法:
如果url无效,则file_get_contents将失败.
检查xml是否有效
simplexml_load_string(file_get_contents('http://www.forbes.com/news/index.xml'))
如果它会返回true,如果不是则会完全失败.
if(simplexml_load_string(file_get_contents('http://www.forbes.com/news/index.xml'))){
echo "yeah";
}else { echo "nah";}
内容总结
以上是互联网集市为您收集整理的检查网址是否有效以及php中的有效XML全部内容,希望文章能够帮你解决检查网址是否有效以及php中的有效XML所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。