---
title: "Fel på preg_match"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/182155-fel-på-preg-match"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Emil W"
published: "2010-01-25T15:19:48.000Z"
updated: "2010-01-28T16:54:09.000Z"
replies: 9
views: 827
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/182155-fel-på-preg-match"
---

# Fel på preg_match

## #1 — Emil W, 2010-01-25T15:19Z

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
<?php
$file = file_get_contents('http://twitter.com/Emil_W');
$file = preg_match("/<span class=\"entry-content\">(.*?)</span>/",$file);
echo $file
?>
```

Permalänk: https://www.webforum.nu/p/182155

## #2 — voigtann1, 2010-01-25T15:30Z

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];
}
```

Permalänk: https://www.webforum.nu/p/2224047

## #3 — The_Hulk, 2010-01-26T07:04Z

Har du läst på php.net hur preg_match fungerar?
<http://se2.php.net/manual/en/function.preg-match.php>

```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

Permalänk: https://www.webforum.nu/p/2224103

## #4 — voigtann1, 2010-01-26T07:07Z

> **[The_Hulk skrev:](https://www.webforum.nu/p/1495783)**
>
> Har du läst på php.net hur preg_match fungerar?
> <http://se2.php.net/manual/en/function.preg-match.php>
> 
>
>
> ```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.

Permalänk: https://www.webforum.nu/p/2224105

## #5 — The_Hulk, 2010-01-26T08:37Z

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
<?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

Permalänk: https://www.webforum.nu/p/2224115

## #6 — Emil W, 2010-01-26T15:47Z

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

Permalänk: https://www.webforum.nu/p/2224152

## #7 — MickeA.com, 2010-01-26T15:58Z

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](http://www.php.net/SimpleXML).

Kolla "Examples" \> "Usage".

Permalänk: https://www.webforum.nu/p/2224154

## #8 — Emil W, 2010-01-26T16:11Z

> **[MickeA.com skrev:](https://www.webforum.nu/p/1495844)**
>
> En mycket bättre lösning skulle vara att du använder [SimpleXML](http://www.php.net/SimpleXML).

Ok, ska ta och kika på detta.

Permalänk: https://www.webforum.nu/p/2224156

## #9 — The_Hulk, 2010-01-27T07:29Z

> **[Emil W skrev:](https://www.webforum.nu/p/1495842)**
>
> 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\>**

Permalänk: https://www.webforum.nu/p/2224238

## #10 — Emil W, 2010-01-28T16:54Z

Tack så mycket

Permalänk: https://www.webforum.nu/p/2224408

---

Tråden på webben: https://www.webforum.nu/amne/php/182155-fel-på-preg-match
