Esempio n. 1
0
$wsql = new htmlsql();
// connect to a URL
if (!$wsql->connect('url', 'http://codedump.jonasjohn.de/')) {
    print 'Error while connecting: ' . $wsql->error;
    exit;
}
/*
 ** The isolate_content functions works like the select function,
 ** but you can specify custom HTML parts, the content between
 ** these two strings will be used for the query process
 **
 ** In this case we select all content between "<h1>New snippets</h1>"
 ** and "<p id="rss">" this returns all snippet links, and no other links
 ** (like header or navigation links)
 */
$wsql->isolate_content('<h1>New snippets</h1>', '<p id="rss">');
/*
    other examples:

    $wsql->isolate_content('<body>', '</body>');
    $wsql->isolate_content('<!--content:start-->', '<!--end-->');
*/
/* execute a query:
      
      This query returns all links:
   */
if (!$wsql->query('SELECT * FROM a')) {
    print "Query error: " . $wsql->error;
    exit;
}
// fetch results as array
if (!$wsql->connect('url', $web_url)) {
    print 'Error while connecting: ' . $wsql->error;
    exit;
}
/* Излоираме малко код
	
	Какво ще рече това!? С този метод isolate_content казваме,
	че искаме да работим със съдържанието, което се намира между
	таговете:
	
	Начален: <root>
	Краен: </root>
	
	В нашия случай точно там се намира съдържанието което ни е нужно.
	*/
$wsql->isolate_content('<html>', '</html>');
/* Изпълняваме query-то
        
		Сега тук е малко по интересно.
		
		Query-то е съвсем нормално. Общо взето ми взима всичко за всички линкове,
		но тук се появява условието WHERE. В този случай макар, че вземаме само линковете
		от кода който се намира между <root>(.*?)</root> си слагаме още едно условие,
		защото там има малко повече линкове от колкото ни трябват. Затова казваме, че
		искаме само линковете които съдърат в href-а си view_article.php.
		
		В случая на Дарик всички линкове които съдържат view_article.php са статиите.
    */
if (!$wsql->query('SELECT * FROM * where $class=="wfCurrentTemp" ')) {
    print "Query error: " . $wsql->error;
    exit;