[PHP]regex bij een Preg_match_all

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hmm, heb volgende scripie om een link tussen [img]en[/img] tag uit te halen maar ik denk niet dat hij iets vind ook al staat er in $message [img]'s. Zijn de regex wel goed?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
$resul = mysql_query("SELECT message From posts WHERE projects = '1' and threadid = '$TID' ORDER BY id DESC") or die(mysql_error()); 
while($result = mysql_fetch_array($resul)){ 
     $message = $result['message']; 
     $message = nl2br($message); 
     $match = '#\\[img\]([A-Za-z0-9/.: ]*)\\[\\img\]#i'; 
     preg_match_all($match, $message, $image); 

while (list($row) = each($image)) { 
  while (list($field) = each($row_array[1])) { 
     $image[] = $field[1]; 
    } 
   } 
}

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 11-09 11:19

chem

Reist de wereld rond

[\\img\]

there you go.
ow, en vervang ([A-Za-z0-9/.: ]*) door (.*?)

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
uh dat staat er toch?

Acties:
  • 0 Henk 'm!

Verwijderd

Er staat een backslash voor de sluittag, in plaats van een slash.
moet dus \/img zijn ipv \\img

[ Voor 21% gewijzigd door Verwijderd op 27-12-2002 22:11 ]


Acties:
  • 0 Henk 'm!

  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 16-09 19:01

Tux

Het is ook handig als je http://gerard.yoursite.nl/got/php-tiplist/#4 even leest:

threadid = '$TID' is een beetje vies.

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
oh nu zie ik het thnx

Acties:
  • 0 Henk 'm!

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01 11:31
een url kan veel meer tekens bevatten dan [A-Za-z0-9/.: ], verder zorgt dat vraagtekentje ervoor dat je regex beter werkt, voor meer info kan je op greediness zoeken :P

Verder sluit je de tags in je tekst waarschijnlijk zo af: [/img] terwijl je in je regex zoiets vraagt: [\img] en dat matcht natuurlijk niet :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hmm heb nu dit: $match = '#\\[img\](.*?)\\[/img\]#i'; maar werkt nog niet

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 11-09 11:19

chem

Reist de wereld rond

en wat doet hij niet? heb je / of \/ neergezet? waarom p_m_a ipv p_r ?

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
omdat ik van die url een thumb moet maken en later vervangen door <img> enzo, en ik heb beide geprobeerd.

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 11-09 11:19

chem

Reist de wereld rond

wat komt er uit
PHP:
1
print_r($image);
?

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Array ( [0] => Array ( [0] => Afbeeldingslocatie: http://mm2heaven.saburovo.com/pics/xkr%20wing.JPG ) [1] => Array ( [0] => http://mm2heaven.saburovo.com/pics/xkr wing.JPG ) )

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 11-09 11:19

chem

Reist de wereld rond

dus hij doet het wel :)

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hmm, ya maar welke vars moet ik aanroepen om die imges er uit te halen?

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 11-09 11:19

chem

Reist de wereld rond

jah, vanaf nu moet je de manual er maar weer eens bijpakken dacht ik zo.

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hmm manual zegt $image[1][0] maar werkt niet :s
Pagina: 1