Versio

unexpected '(', expecting ')'

Overzicht Reageren

Toby hinloopen

toby hinloopen

11/03/2009 23:04:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
/*
11-03-2009, Toby Hinloopen
*/

class bbcode {
    
    public static $translationtable = array(
        array(
            'bbname' => 'b',
            'bbtagtype' => 'normal',
            'arguments' => array(),
            'translation' => array('htmlname','strong'),
        ),

        array(
            'bbname' => 'url',
            'bbtagtype' => 'normal',
            'arguments' => array(
                /*REQUIRED , NAME , TYPE*/
                array(true,'href','string'),
            ),

            'translation' => array('customtag','<a href="" target="_blank"></a>',array(9=>'href',27=>'innerHTML')),
        ),

        array(
            'bbname' => 'multiply',
            'bbtagtype' => 'selfclosing',
            'arguments' => array(
                array(true,'x','int'),
                array(true,'y','int'),
            ),

            'translation' => array(
                'function',
                create_function(
                    '$tagname,$innerHTML,$args',
                    'return $args[\'x\']*$args[\'y\'];'
                ),
            ),
        ),
    );

    
    public static function parse($string) {
        
        echo '<br/>input: ';
        col('#d00','"'.addslashes($string).'"');
        
    }

    
    public static function toHTML($string) {
        
        $BBcode = self::parse($string);
        
    }
    
}
    
function
no_lf($string) {
    $string = str_replace(array("\r","\n"),'',$string);
    return $string;
}

function
html_escape($string) {
    $string = htmlentities($string,ENT_QUOTES,'UTF-8');
    return $string;
}

function
col($color,$string) {
    echo '<span style="color:'.$color.';">'.$string.'</span>';
}

?>


Met de bovenstaande code krijg ik een error:
"Parse error: syntax error, unexpected '(', expecting ')' in C:\xampp\htdocs\BBcode\class.bbcode.php on line 33"

Waarom???
als ik de functie "create_functie()" tussen /* en */ gooi, krijg ik geen errors.

handige link:
http://nl2.php.net/manual/en/function.create-function.php

btw, als ik de functie "create_function" vervang door een willekeurige andere functie, blijft die error. Ik vind het een beetje extreem vaag.
Gewijzigd op 01/01/1970 01:00:00 door Toby hinloopen
 
PHP hulp

PHP hulp

25/05/2012 16:52:40
Gesponsorde koppelingen:
 
Kasper Isgek

Kasper Isgek

12/03/2009 01:12:00
Quote Anchor link
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
array(
       'bbname' => 'multiply',
       'bbtagtype' => 'selfclosing',
       'arguments' => array(
          array(true,'x','int'),
          array(true,'y','int'),
       ),

Regel 29 sluit je volgens mij niet goed af?

Tip: als je een dergelijke error krijgt, kan je er eigenlijk altijd vanuit gaan dat je ergens iets niet goed afgesloten (of geopend) hebt.
 
Toby hinloopen

toby hinloopen

13/03/2009 02:18:00
Quote Anchor link
Als ik "create_function()" vervang door "array()" werkt het script wel...
probeem is nog steeds niet opgelost.
 
Willem Jan Z

Willem Jan Z

13/03/2009 08:15:00
Quote Anchor link
Je kan daar gewoon geen functies aanroepen, ook volstrekt onlogisch dat te willen trouwens.

@Kasper: Je mag een extra komma aan het eind hebben.
 
Toby hinloopen

toby hinloopen

13/03/2009 16:01:00
Quote Anchor link
Waarom mag dat niet en waarom is dat onlogisch?

als ik zeg $a = create_function(); werkt het wel
mag ik dan ook $a['function'] = create_function gebruiken? lijkt me wel.
maar waarom dan niet binnen een static object?
 
- SanThe -

- SanThe -

13/03/2009 16:25:00
Quote Anchor link
Jij hebt op meerdere plaatsen een , (komma) teveel staan.
Achteraan regel 12, 19, 21, 28, 35, 36 en 37.
 
GaMer B

GaMer B

13/03/2009 16:26:00
Quote Anchor link
SanThe schreef op 13.03.2009 16:25:
Jij hebt op meerdere plaatsen een , (komma) teveel staan.
Achteraan regel 12, 19, 21, 28, 35, 36 en 37.

Je mag achter de laatste array item een komma hebben staan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$array
= array(
'iets' => 'iets',
'iets2' => 'iets2',
'iets3' => 'iets3',
);[
/code]
Dit mag.
 
- SanThe -

- SanThe -

13/03/2009 16:29:00
Quote Anchor link
GaMer13 schreef op 13.03.2009 16:26:
SanThe schreef op 13.03.2009 16:25:
Jij hebt op meerdere plaatsen een , (komma) teveel staan.
Achteraan regel 12, 19, 21, 28, 35, 36 en 37.

Je mag achter de laatste array item een komma hebben staan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$array
= array(
'iets' => 'iets',
'iets2' => 'iets2',
'iets3' => 'iets3',
);[
/code]
Dit mag.[/quote]
Wist ik niet.

Edit: Bij mij werkt het trouwens gewoon.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 



Overzicht Reageren