preg_replace uitbreiden
vinTage - 06/04/2007 13:03
Nieuw lid
<?php
$tekst = preg_replace("#\[popup=(.*?)\](.*?)\[/popup\]#i",
"<a href='javascript:toon(\"\\1\",".$size = getimagesize("\\1").$size[0].",".$size[1].");'>\\2</a>",$tekst);
return $tekst;
<?php
"<a href='javascript:toon(\" \\1 \" ," . $size = getimagesize ( "\\1 " ) . $size [ 0 ] . "," . $size [ 1 ] . ");'>\\2 </a>" , $tekst ) ; 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
Ibrahim - 06/04/2007 13:15
PHP expert
nergens, gewoon achter je delimiter een e toevoegen
Thomas - 06/04/2007 13:30 (laatste wijziging 06/04/2007 13:31)
Moderator
Zoiets zal het worden:
<?php
$tekst = preg_replace("/\[popup=(.*?)\](.*?)\[/popup\]/ie", "buildlink('\\1','\\2')", $tekst);
function buildlink($file, $name)
{
$ret = '';
$data = @getimagesize($file);
if(count($data))
{
$w = $data[0];
$h = $data[1];
}
else
{
// defauly h/w - $file is probably not an image... show a default $file / $name?
$w = 320;
$h = 200;
}
$ret = '<a href="javascript:toon(\''.$file.'\','.$w.','.$h.')">'.$name.'</a>';
return $ret;
}
?>
<?php
$tekst = preg_replace ( "/\[popup=(.*?)\](.*?)\[/popup\]/ie" , "buildlink('\\1 ','\\2 ')" , $tekst ) ;
function buildlink( $file , $name )
{
$ret = '' ;
{
$w = $data [ 0 ] ;
$h = $data [ 1 ] ;
}
else
{
// defauly h/w - $file is probably not an image... show a default $file / $name?
$w = 320 ;
$h = 200 ;
}
$ret = '<a href="javascript:toon(\' '.$file.' \',' . $w . ',' . $h . ')">' . $name . '</a>' ;
return $ret ;
}
?>
Let wel op JavaScript inserts / crossite-scripting met dit soort UBB .
mesynthetix - 06/04/2007 13:35 (laatste wijziging 06/04/2007 13:37)
Nieuw lid
Ik zou zoiets doen:
<?php
function omzetfunctie($waarde1, $waarde2) {
$size = getimagesize($waarde1);
return '<a href=\'javascript:toon("' . $waarde1 . '",' . $size[0] . ',' . $size[1] . ');\'>' . $waarde2 . '</a>';
}
$tekst = preg_replace("#\[popup=(.*?)\](.*?)\[/popup\]#ie",
"omzetfunctie('\\1', '\\2');",$tekst);
return $tekst
<?php
function omzetfunctie( $waarde1 , $waarde2 ) {
return '<a href=\' javascript: toon( "' . $waarde1 . '" , ' . $size[0] . ' , ' . $size[1] . ' ) ; \'>' . $waarde2 . '</a>' ;
}
"omzetfunctie('\\1 ', '\\2 ');" , $tekst ) ;
return $tekst
Gesponsorde links
Dit onderwerp is gesloten .