Emil WMedlem sedan mars 2009512 inlägg Hej alla på wF !
Jag försöker hämta text från min twitter
men jag får inte till det med preg_match.
någon som ser vad jag har gjort för fel ?
Här är koden
<?php
$file = file_get_contents('http://twitter.com/Emil_W');
$file = preg_match("/<span class=\"entry-content\">(.*?)</span>/",$file);
echo $file
?>
känns som det är lite omständigt att Screenscrapar det när du har ett XML data du kan hämta. sen får du väl bara ut en kollektion av träffarna i ditt regexp, så du måste ju rendera ut $file med?
for ($i = 0; $i < count($file[0]); $i++) {
echo $file[0][$i];
}
The_HulkMedlem sedan juni 20031 837 inlägg Har du läst på php.net hur preg_match fungerar?
http://se2.php.net/manual/en/function.preg-match.php
<?php
$m = array();
$file = file_get_contents('http://twitter.com/Emil_W');
if(preg_match("/<span class=\"entry-content\">(.*?)<\/span>/",$file, $m))
{
print $m[1];
}
?>
/red fixade ett kodfel
The_Hulk skrev:
Har du läst på php.net hur preg_match fungerar?
http://se2.php.net/manual/en/function.preg-match.php
<?php
$m = array();
$file = file_get_contents('http://twitter.com/Emil_W');
if(preg_match("/<span class=\"entry-content\">(.*?)</span>/",$file, $m))
{
print $m[1];
}
?>
Nu vet jag inte vem du menar om vem som har läst php.net, men ditt uttryck loopar inte ut träffarna, den tar väl bara ut den första <span class="entry-content">...</span> ? Du vill väl ändå loopar ut den?
Min kod är från Regexp buddy.
The_HulkMedlem sedan juni 20031 837 inlägg Självklart menade jag Emil W, ber om ursäkt för missförståndet. Eftersom han använde preg_match förväntade jag mig att han bara ville ha en träff. Han hade dock använt den lite fel.
Vill man få ut alla träffar ska man använda preg_match_all
<?php
$m = array();
$file = file_get_contents('http://twitter.com/Emil_W');
if(preg_match_all("/<span class=\"entry-content\">(.*?)<\/span>/",$file, $m, PREG_SET_ORDER))
{
foreach ($m as $n)
{
print $n[1];
}
}
?>
/red. Fixade ett kodfel
Emil WMedlem sedan mars 2009512 inlägg Det var att jag ville ha alla träffar.
Jag får detta när jag provar med din kod, det är när jag använder preg_match_all
Warning: preg_match() [function.preg-match]: Unknown modifier 'p' in C:\wamp\www\test.php on line 4
Men om du nu kan få datan som RSS/XML, varför ska du ge dig på preg_match överhuvudtaget?
En mycket bättre lösning skulle vara att du använder SimpleXML.
Kolla "Examples" > "Usage".
Emil WMedlem sedan mars 2009512 inlägg
MickeA.com skrev:
En mycket bättre lösning skulle vara att du använder SimpleXML.
Ok, ska ta och kika på detta.
The_HulkMedlem sedan juni 20031 837 inlägg
Emil W skrev:
Det var att jag ville ha alla träffar.
Jag får detta när jag provar med din kod, det är när jag använder preg_match_all
Warning: preg_match() [function.preg-match]: Unknown modifier 'p' in C:\wamp\www\test.php on line 4
Det var jag som missade att fixa till din kod helt och hållet.
Man måste lägga till \ vid </span> så att det blir <\/span>