XML (recieve check and send)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

DirkJan Heinen

DirkJan Heinen

05/03/2012 16:07:39
Quote Anchor link
Beste leden,

Ik probeer tweets van twitter op te halen, nu is het zo dat deze tweets soms ernstige scheldwoorden of de meest gore teksten bevat. Daarom wil ik nu eerst de tweets controleren voordat ze gepubliceerd worden. Ik weet dat dit niet 100% te voorkomen is maar het filtert wel het grootste deel van deze 'foute' tweets.

Maar nu geeft hij een error! terwijl ik eigenlijk de xml gewoon doorgeef en er alleen een check op los laat.
Hoe kan dit?

error:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
This page contains the following errors:

error on line 1 at column 1370: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.


PHP:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
header("Content-Type: application/xml;");

$bad = array(
        'hoeren',
        'kanker',
        'begonnen',
        'smerig',
        'poep',
        'poepen',
        'schijt',
        'tering'
        );

if (!isset($_GET['q'])) {
    $q = 'rollcomm';
}
else {
    $q = $_GET['q'];
}

if (!isset($_GET['rpp'])) {
    $rpp = 10;
}
else {
    $rpp = $_GET['rpp'];
}


$error = false;
for ($i=1; $i < $rpp; $i++) {
    foreach ($bad as $b) {
        if ($error == false) {
            $search = "http://search.twitter.com/search.atom?q=%23".$q."&rpp=1";
            $tw = curl_init();
            curl_setopt($tw, CURLOPT_URL, $search);
            curl_setopt($tw, CURLOPT_RETURNTRANSFER, TRUE);
            $twi = curl_exec($tw);
            if (strpos($twi, $b)) {
                $error = true;
            }
else{
                print_r($twi);
            }
        }
    }    
}

?>
 
PHP hulp

PHP hulp

29/03/2024 06:04:35
 
Albert de Wit

Albert de Wit

05/03/2012 16:14:56
Quote Anchor link
offtopic: begonnen is niet echt een erg woord ofwel? :)
zelfde geld voor kanker. sommige mensen gebruiken het als een scheldwoord maar voor hetzelfde geld schrijft iemand iets over de genezing van kanker en word het gecensureerd.
Gewijzigd op 05/03/2012 16:15:55 door Albert de Wit
 
DirkJan Heinen

DirkJan Heinen

05/03/2012 16:25:34
Quote Anchor link
Albert de Wit op 05/03/2012 16:14:56:
offtopic: begonnen is niet echt een erg woord ofwel? :)
zelfde geld voor kanker. sommige mensen gebruiken het als een scheldwoord maar voor hetzelfde geld schrijft iemand iets over de genezing van kanker en word het gecensureerd.


Begonnen was gewoon even een test, dat woord kwam voor in een tweet en wou kijken of hij het de tweet weg liet. En in de vorm waar ik de tweets worden weergegeven zijn deze tweets niet echt van toepassing, en daar bij komt dat ik het script nog verder wil uitwerken met een mail dus al er iets geweigerd word dat hij een mail stuurt met de tweets en dan kan ik de tweet er alsnog handmatig doordrukken.

Maar je hebt geen oplossing voor de fout?
 
Albert de Wit

Albert de Wit

05/03/2012 16:27:32
Quote Anchor link
neej, anders zou ik wel ontopic: + de oplossig schrijven
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/03/2012 16:56:07
Quote Anchor link
Draai je niet iets om?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
for ($i=1; $i < $rpp; $i++) {
    foreach ($bad as $b) {
        if ($error == false) {
            $search = "http://search.twitter.com/search.atom?q=%23".$q."&rpp=1";
            $tw = curl_init();
            curl_setopt($tw, CURLOPT_URL, $search);
            curl_setopt($tw, CURLOPT_RETURNTRANSFER, TRUE);
            $twi = curl_exec($tw);
            if (strpos($twi, $b)) {
                $error = true;
            }
else{
                print_r($twi);
            }
        }
    }

?>

Je gaat nu voor elk woord in de array die curl uitvoeren.
 
DirkJan Heinen

DirkJan Heinen

06/03/2012 10:07:59
Quote Anchor link
Oke never mind, die oude code was gewoon echt te dom voor woorden. ik had aan een aantal punten gewoon niet na gedacht. Dit is wel een werkende code voor de mensen die het misschien nog een keer willen gebruiken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php
header("Content-Type: application/xml;");

$bad = array(
        'hoeren',
        'kanker',
        'tyfus',
        'smerig',
        'poep',
        'poepen',
        'schijt',
        'tering',
        'godverdomme',
        'lelijk'
        );
$return = '';


if (!isset($_GET['q'])) {
    $q = 'rollcomm';
}
else {
    $q = $_GET['q'];
}

if (!isset($_GET['rpp'])) {
    $rpp = 10;
}
else {
    $rpp = $_GET['rpp'];
}


$search = "http://search.twitter.com/search.atom?q=%23".urlencode($q)."&rpp=10";
$tw = curl_init();
curl_setopt($tw, CURLOPT_URL, $search);
curl_setopt($tw, CURLOPT_RETURNTRANSFER, TRUE);
$twi = curl_exec($tw);

$twii = explode('<entry>', $twi);

$error = 0;
if ($rpp > (count($twii)-1)) {
    $max = (count($twii)-1);
}
else{
    $max = $rpp;
}


if ($max != 0) {
    if (isset($_GET['exit'])) {
        $return .= $twii[0];
    }

    for ($i=1; $i < $max; $i++) {
        foreach ($bad as $b) {
            if (@strpos($twii[$i], $b)) {
                $error = 1;
            }
        }

        if ($error == 0) {
            if (!isset($_GET['exit'])) {
                $return .= $twii[0];
                $return .= '<entry>';
                $return .= $twii[$i];
                $return .= '</feed>
                
                '
;
                exit;
            }
else{
                $return .= '<entry>';
                $return .= @$twii[$i];
            }
        }

        $error = 0;
    }

    if (isset($_GET['exit'])) {
        $return .= '</feed>
                
        '
;
    }
}
else{
    $return .= '<?xml version="1.0" encoding="UTF-8"?>
    <feed xmlns:google="http://base.google.com/ns/1.0" xml:lang="en-US" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns="http://www.w3.org/2005/Atom" xmlns:twitter="http://api.twitter.com/" xmlns:georss="http://www.georss.org/georss">
        <id>tag:search.twitter.com,2005:search/zoek</id>
        <link type="text/html" href="http://search.twitter.com/search?q=%23zoek" rel="alternate"/>
        <link type="application/atom+xml" href="http://search.twitter.com/search.atom?q=%23zoek" rel="self"/>
        <title>#zoek - Twitter Search</title>
        <link type="application/opensearchdescription+xml" href="http://twitter.com/opensearch.xml" rel="search"/>
        <link type="application/atom+xml" href="http://search.twitter.com/search.atom?since_id=175989085415014400&amp;q=%23zoek" rel="refresh"/>
        <updated>2012-03-03T17:00:42Z</updated>
        <openSearch:itemsPerPage>10</openSearch:itemsPerPage>
    </feed>
    '
;
}


echo $return;
?>
Gewijzigd op 06/03/2012 10:14:41 door DirkJan Heinen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.