Driver for tiden og utvikler et bbcode-system på en webside, men har støtt på et problem som tydligvis ikke lar seg løse (les: av meg, that is).
Nettsiden skal ha mulighet for å poste kildekoder med syntax highlighting.
Jeg bruker PEAR og pakken Text_Highlighter.
Nå over til problemet:
Hva er det jeg gjør feil i koden over? Text_Highlighter klarer nemlig ikke å ta i mot variablene $1 og $2.
Når jeg tester koden over får jeg følgende feilmelding:
Men hvis jeg kjører funksjonen direkte (les: uten bruk av variabler) fungerer det:
Er det noen som har mer peiling enn meg som kan forklare meg hva som forårsaker feilmeldingen, og hvordan dette evt. skal la seg ordne?
På forhånd, takk
Nettsiden skal ha mulighet for å poste kildekoder med syntax highlighting.
Jeg bruker PEAR og pakken Text_Highlighter.
Nå over til problemet:
Kode
function sourceCodeHighlight ($str) { $search = '/\[code=(.*?)\](.*?)\[\/codearea\]/is'; // Define the class $highlighter =& Text_Highlighter::factory("$1"); // Call highlight method to display the code to web browser $replace = $highlighter->highlight("$2"); $codeHighlighted = preg_replace($search, $replace, $str); return $codeHighlighted; }
Når jeg tester koden over får jeg følgende feilmelding:
Kode
Fatal error: Call to undefined method PEAR_Error::highlight() in C:\xampp\htdocs\bbcode.php on line 89
Men hvis jeg kjører funksjonen direkte (les: uten bruk av variabler) fungerer det:
Kode
function sourceCodeHighlight ($str) { $search = '/\[code=(.*?)\](.*?)\[\/codearea\]/is'; // Define the class $highlighter =& Text_Highlighter::factory("mysql"); // Call highlight method to display the code to web browser $replace = $highlighter->highlight("SELECT * FROM some_table WHERE id = 12"); $codeHighlighted = preg_replace($search, $replace, $str); return $codeHighlighted; }
Er det noen som har mer peiling enn meg som kan forklare meg hva som forårsaker feilmeldingen, og hvordan dette evt. skal la seg ordne?
På forhånd, takk