[php] Probleem met highlight functie

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • codeweb
  • Registratie: Juni 2002
  • Laatst online: 17-09 16:36
Ik heb de volgende phpcode die in een class zit:
PHP:
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
<?

$string = preg_replace("/(\\[php\])(.*)(\\[\/php\])/Uise",$this->Highlight('<?\\1?>'),$string);


function Highlight($post)  
        {  
        $post = stripslashes($post);  
        $split = split("\n", $post);  
        $size = count($split);  
        
        $new_post = "<table bgcolor=\"#ffffff\" bordercolor=\"black\" 
cellspacing=\"0\" width=\"100%\" style='border: 1px solid black'>";  
        
        for($i = 0; $i < $size; $i++)  
        {  
            $t = $i + 1;  
            $post = highlight_string($post, true);  
        
           $new_post .= "<tr><td bgcolor=\"#CCCCCC\" align=\"right\" width=\"14\">
<font face=\"verdana\" size=\"1\">".$t."</font></td>";  
        
            if($t < 2)  
            {  
               $new_post .= "<td style='padding-left: 5px' rowspan=\"10000\"
 valign=\"top\">".$post."</td>";  
            }  
        
            $new_post .= "</tr></table>";  
        
        }  
        return $new_post;
    } 

?>


Maar nu krijg ik steeds de volgende error:
code:
1
2
3
4
5
Parse error: parse error, unexpected '<' in d:\phpdev\www\masterbb\version 1\forums\source\
functions.php(480) : regexp code on line 1

Fatal error: Failed evaluating code: 1 <?1?>  
in d:\phpdev\www\masterbb\version 1\forums\source\functions.php on line 480


En ik kan er niet echt achterkomen wat k nu precies fout doe... :+

Acties:
  • 0 Henk 'm!

Verwijderd

'<?\\1?>' -> '<?\1?>' (enkele \ dus)

Acties:
  • 0 Henk 'm!

  • codeweb
  • Registratie: Juni 2002
  • Laatst online: 17-09 16:36
had k ook al geprobeerd, maar gaf dezelfde error:
code:
1
2
3
4
5
Parse error: parse error, unexpected '<' in d:\phpdev\www\masterbb\version 1\forums\source\
functions.php(488) : regexp code on line 1

Fatal error: Failed evaluating code:  <?1?>  
in d:\phpdev\www\masterbb\version 1\forums\source\functions.php on line 488

[ Voor 10% gewijzigd door codeweb op 09-02-2003 16:57 ]


Acties:
  • 0 Henk 'm!

  • codeweb
  • Registratie: Juni 2002
  • Laatst online: 17-09 16:36
*subtiel schopje* :+

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

zoiets misschien (de /e evalt eigenlijk het 2e argument) ?
PHP:
1
$string = preg_replace("/(\\[php\])(.*)(\\[\/php\])/Uise","Highlight('\<?$1?\>')",$string);

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • codeweb
  • Registratie: Juni 2002
  • Laatst online: 17-09 16:36
moet het sowieso op deze manier doen:
PHP:
1
$string = preg_replace("/(\\[php\])(.*)(\\[\/php\])/Uise",$this->Highlight('\<?$1?\>'),$string);

anders werkt ie niet,
maar krijg weer deze error:
code:
1
2
3
4
5
6
7
Parse error: parse error, unexpected '<' in d:\phpdev\
www\masterbb\version 1\forums\source\functions.php(488) : 
regexp code on line 1

Fatal error: Failed evaluating code: 1 <?$1?>  
in d:\phpdev\www\masterbb\version 1\forums\source\
functions.php on line 488

en die regel 488 slaat weer op die preg_replace

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

zo dan (eval moet een string evalueren):
PHP:
1
$string = preg_replace('/\\[php\](.*)\\[\/php\]/Uise',"\$this->Highlight('\<?$1?\>')",$string);

en de foutjes in je Highlight functie mag je zelf oplossen ;)

Edit: regexp ook aangepast $1 sloeg eerst op de [php] match ipv de (.*)

[ Voor 24% gewijzigd door crisp op 11-02-2003 18:34 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • codeweb
  • Registratie: Juni 2002
  • Laatst online: 17-09 16:36
bedankt, het werkt nu!, heb idd een aantal foutjes uit die highlight gevist, en t werkt nu :)
Pagina: 1