[PHP][MYSQL]Een argument zoeken en daarna function uitvoeren

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Scott_NL
  • Registratie: Maart 2002
  • Laatst online: 10-09 12:18
Hallo,

hier even mijn vraag.
Ik werk nu met het Nucleus CMS systeem en gebruik dit alleen om mijn berichten te schrijven. Het ophalen van de items doe ik gewoon zelf rechtstreeks uit MySQL.
Maar als ik met Nucleus een plaatje heb geupload en later het bericht weergeef kan hij het plaatje niet weergeven omdat hij deze string ervan maakt
code:
1
<%image(20021125-hangplek.jpg|360|240|Test)%>

Nu heb ik even gekeken in het nucleus script en deze functies horen daarbij:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function parse_image() { 
   // image/popup calls have arguments separated by | 
   $args = func_get_args(); 
   $args = explode('|',implode($args,',')); 
   call_user_func_array(array(&$this,'createImageCode'),$args); 
} 

function createImageCode($filename, $width, $height, $text = '') { 
   global $CONF; 

   $authorid = $this->currentItem->authorid; 
   $windowwidth = $width; 
   $windowheight = $height; 
       
   $vars['image'] = '[img]"'[/img]'; 
       
   echo TEMPLATE::fill($this->template['IMAGE_CODE'],$vars);; 

}


Dus mijn vraag is hoe kan ik de images goed weergeven, want als ik deze in mijn code plak geeft hij hem niet weer! :(

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Misschien moet je even lezen wat de functies doen, gewoon regel voor regel, en voor jezelf uitleggen wat er gebeurt, en er dan vervolgens zelf een functie van maken.

edit:
Kortom, lees voor alles wat er gebeurt in de manual na wat die functie precies doet.

[ Voor 23% gewijzigd door drm op 27-11-2002 14:17 ]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Scott_NL
  • Registratie: Maart 2002
  • Laatst online: 10-09 12:18
Ja ik begrijp in principe wel wat hij doe....hoe hij er aan komt enzo,maar ben nog maar een beginner in PHP, dus misschien dat iemand meteen zegt van Ohw je moet dit en dit veranderen. De manual heb ik ook al helemaal doorgelezen

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Dus, je hebt al je eigen versie van een functie geschreven die wel doet wat je wilt? En die geeft foutmeldingen? Welke dan?

't Gevaar is dat je dit forum als een quick fix gaat zien als het gaat om dit soort dingen. Je geeft het zelf al aan:
misschien dat iemand meteen zegt van Ohw je moet dit en dit veranderen.
Daar leer je weinig van. Hoe vervelend je dat ook vindt, dat is niet de insteek van dit forum :)

Dus, mijn vraag aan jou is: Wat heb je geprobeerd, waarom denk je dat 't niet werkt, en waarom denk je dat 't wel zou moeten werken.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Scott_NL
  • Registratie: Maart 2002
  • Laatst online: 10-09 12:18
Daar leer je weinig van. Hoe vervelend je dat ook vindt, dat is niet de insteek van dit forum
Nee dat begrijp ik ;)

Maar ik heb geprobeerd om de config.php van Nucleus te includen (uiteraard ook alle mappen en bestanden gekopieerd) Deze code er handmatig in te plakken en ik denk dat het werkt omdat het op de nucleuspagina wel werkt :)

Acties:
  • 0 Henk 'm!

  • Scott_NL
  • Registratie: Maart 2002
  • Laatst online: 10-09 12:18
Ik heb nou even deze code als test geschreven
PHP:
1
2
3
4
5
6
7
8
9
<?php
$text = $row_CMS['ibody'];
$explode = "$text";
$explodetext = explode("|",$explode);
$explode1 = "$explodetext[0]";
$explodetext1 = explode("(",$explode1);
$image = "$explodetext1[0]";
$image = ereg_replace("<%image","[img]\"images/1/\"",$image);
?[/img]

Maar als ik nu weer $text echo dan replaced hij hem niet :(
Als ik $image echo doet hij het wel...dan laat hij gewoon een kruisje zien,maar ja dat is logisch. Hoe kan ik nou $image weer in $text uitvoeren?
Als ik dit doe dan maakt hij er hele vreemde code van
PHP:
1
$text = ereg_replace("<%image","<img src=\"images/1/\"",$text);

[ Voor 35% gewijzigd door Scott_NL op 02-12-2002 13:57 ]


Acties:
  • 0 Henk 'm!

  • Scott_NL
  • Registratie: Maart 2002
  • Laatst online: 10-09 12:18
Ok deze kan gesloten worden dit is de oplossing
PHP:
1
2
3
4
5
<?php
$text = $row_CMS['ibody'];
$text = preg_replace('/<%image\((.*?)\|.*?\)%>/', '[img]"http://s293/cms/media/1/\\1"[/img]', $text);
echo $text;
?>

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Iets aan dit topic doet mij vermoeden dat dit topic nooit geopend had hoeven worden :D

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Scott_NL
  • Registratie: Maart 2002
  • Laatst online: 10-09 12:18
Je hebt gelijk ;)
Pagina: 1