login  Naam:   Wachtwoord: 
Registreer je!
 Forum

preg_replace uitbreiden

Offline vinTage - 06/04/2007 13:03
Avatar van vinTageNieuw lid
  1. <?php
  2. $tekst = preg_replace("#\[popup=(.*?)\](.*?)\[/popup\]#i",
  3. "<a href='javascript:toon(\"\\1\",".$size = getimagesize("\\1").$size[0].",".$size[1].");'>\\2</a>",$tekst);
  4. return $tekst;


natuurlijk werkt het weer eens niet mee omdat ik waarschijnlijk weer iets doe wat technisch onmogelijk blijkt 

Citaat:
Warning: getimagesize(1) [function.getimagesize]: failed to open stream: No such file or directory in C:wampwwwubbclass.php on line 375

Notice: Undefined variable: size in C:wampwwwubbclass.php on line 375

Notice: Undefined variable: size in C:wampwwwubbclass.php on line 375


Hoe krijg ik nou toch die \\1 in die getimagesize en in mn replace ?

7 antwoorden

Gesponsorde links
Offline Rik - 06/04/2007 13:04
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Volgens mij moet je dan de e pattern modifier toevoegen zodat php wordt uitgevoerd tijdens het replacen.
Offline vinTage - 06/04/2007 13:06 (laatste wijziging 06/04/2007 13:16)
Avatar van vinTage Nieuw lid euhm ... 
Waarop google ik nu ?

edit shit Nu weet ik weer waarom ik flash leuker vind 
Daar snap ik dus niks van he, of ligt dat niet alleen aan mij?
Offline Ibrahim - 06/04/2007 13:15
Avatar van Ibrahim PHP expert nergens, gewoon achter je delimiter een e toevoegen
Offline vinTage - 06/04/2007 13:20
Avatar van vinTage Nieuw lid Mag ik zo vrij zijn te vragen of jij die e in mn scriptje wilt gooien ?

Ik weet niet eens wat een delimiter is 

sorry voor mn luiheid, maar ik heb na +10 "e-tjes" geplaatst te hebben nogal moe van de unexpected string warnings..
Offline Thomas - 06/04/2007 13:30 (laatste wijziging 06/04/2007 13:31)
Avatar van Thomas Moderator Zoiets zal het worden:

  1. <?php
  2. $tekst = preg_replace("/\[popup=(.*?)\](.*?)\[/popup\]/ie", "buildlink('\\1','\\2')", $tekst);
  3.  
  4. function buildlink($file, $name)
  5. {
  6. $ret = '';
  7.  
  8. $data = @getimagesize($file);
  9.  
  10. if(count($data))
  11. {
  12. $w = $data[0];
  13. $h = $data[1];
  14. }
  15. else
  16. {
  17. // defauly h/w - $file is probably not an image... show a default $file / $name?
  18. $w = 320;
  19. $h = 200;
  20. }
  21.  
  22. $ret = '<a href="javascript:toon(\''.$file.'\','.$w.','.$h.')">'.$name.'</a>';
  23.  
  24. return $ret;
  25. }
  26. ?>


Let wel op JavaScript inserts / crossite-scripting met dit soort UBB .
Offline mesynthetix - 06/04/2007 13:35 (laatste wijziging 06/04/2007 13:37)
Avatar van mesynthetix Nieuw lid Ik zou zoiets doen:

  1. <?php
  2. function omzetfunctie($waarde1, $waarde2) {
  3. $size = getimagesize($waarde1);
  4. return '<a href=\'javascript:toon("' . $waarde1 . '",' . $size[0] . ',' . $size[1] . ');\'>' . $waarde2 . '</a>';
  5. }
  6.  
  7. $tekst = preg_replace("#\[popup=(.*?)\](.*?)\[/popup\]#ie",
  8. "omzetfunctie('\\1', '\\2');",$tekst);
  9. return $tekst
Offline vinTage - 06/04/2007 14:31
Avatar van vinTage Nieuw lid Hartelijk bedankt voor jullie bijdragen.
Omdat het nogal een hoop gekloot was (voor mij toch iig) heb ik de oplossing gebruikt van FangorN, deze werkt nu perfect.
Bedankt daarvoor!

@mesynthetix
Jouw post zag ik pas nadat ik al een tijdje aan het klooien was en resultaat behaalde, dus helaas heb ik die niet meer geprobeerd.
In ieder geval ook bedankt 

@all
Over die js inserts / Xside scripting, als ik over de variablen addslash en htmlenties gooi, dan is het toch safe of ben ik hierin mis ?
(geen verstand van hack/crack zooi)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.203s