如何从asp.net mvc3中的facebook等url中提取数据?
有没有办法从像facebook这样的url中提取数据?
我提到了许多链接,但这是使用PHP代码。 这 – http://www.99points.info/2010/07/facebook-like-extracting-url-data-with-jquery-ajax-php/
http://www.9lessons.info/2010/06/facebook-like-extracting-url-data-with.html
www.webinfopedia.com/extract-meta-data-from-url-using-php.html
我想这样实现。 我如何在我的asp.net mvc3应用程序中实现这一点?
我刚才提到这个-www.achari.in/facebook-like-url-data-extract-using-jquery我不明白他们在php代码中做了什么,有人能解释这段代码,他们在这方面做了些什么?
在这,index.php文件中有
achari.in - Demo - Facebook Like URL data Extract Using jQuery PHP and Ajax $(document).ready(function(){ // delete event $('#attach').livequery("click", function(){ if(!isValidURL($('#url').val())) { alert('Please enter a valid url.'); return false; } else { $('#load').show(); $.post("includes/fetch.php?url="+$('#url').val(), { }, function(response){ $('#loader').html($(response).fadeIn('slow')); $('.images img').hide(); $('#load').hide(); $('img#1').fadeIn(); $('#cur_image').val(1); }); } }); // next image $('#next').livequery("click", function(){ var firstimage = $('#cur_image').val(); $('#cur_image').val(1); $('img#'+firstimage).hide(); if(firstimage 0) { firstimage = parseInt(firstimage)-parseInt(1); $('#cur_image').val(firstimage); $('img#'+firstimage).show(); } }); // watermark input fields jQuery(function($){ $("#url").Watermark("http://"); }); jQuery(function($){ $("#url").Watermark("watermark","#369"); }); function UseData(){ $.Watermark.HideAll(); $.Watermark.ShowAll(); } }); function isValidURL(url){ var RegExp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/; if(RegExp.test(url)){ return true; }else{ return false; } } function confirmQuit() { var response = confirm('do you wish to close window !'); if(response === true) { return true; } else { return false; } }
上面的代码是ui部分和
fetch.php <?php $url = $_REQUEST['url']; $url = checkValues($url); function checkValues($value) { $value = trim($value); if (get_magic_quotes_gpc()) { $value = stripslashes($value); } $value = strtr($value, array_flip(get_html_translation_table(HTML_ENTITIES))); $value = strip_tags($value); $value = htmlspecialchars($value); return $value; } function fetch_record($path) { $file = fopen($path, "r"); if (!$file) { exit("Problem occured"); } $data = ''; while (!feof($file)) { $data .= fgets($file, 1024); } return $data; } $string = fetch_record($url); /// fecth title $title_regex = "/(.+)/i"; preg_match_all($title_regex, $string, $title, PREG_PATTERN_ORDER); $url_title = $title[1]; /// fecth decription $tags = get_meta_tags($url); // fetch images $image_regex = '/]*'.'src=[\"|\'](.*)[\"|\']/Ui'; preg_match_all($image_regex, $string, $img, PREG_PATTERN_ORDER); $images_array = $img[1]; ?> <?php $k=1; for ($i=0;$i= 50 && $height >= 50 ){ echo ""; $k++; } } } } ?> <!----> <input type="hidden" name="total_images" id="total_images" value="" />
我不知道php所以有人可以帮我找到这个解决方案吗?
在上面的代码中,他们使用此function
function fetch_record($path) { $file = fopen($path, "r"); if (!$file) { exit("Problem occured"); } $data = ''; while (!feof($file)) { $data .= fgets($file, 1024); } return $data; }
任何人都可以告诉我这段代码到底是什么用的文件打开了,这是用于读取url索引文件的吗?
看看这个开源项目:
http://nalgorithm.wordpress.com/2011/12/05/embedded-url-representation/
它实际上是一个类库,由MVC应用程序客户端使用JQuery及其AJAXfunction调用。
它使用了AgilityPack,但是你必须处理许多其他问题,比如编码。
我之前发布的页面上的链接很遗憾已经死了,但现在已修复。
http://nalgorithm.wordpress.com/2011/12/05/embedded-url-representation/
正如我在那里所说,我正在研究这个工具的服务版本,以便其他webapps可以通过(jquery)和服务调用来使用它。
对于解析HTML,我建议你看一下HTML Agility Pack 。