Autor Zpráva
nodo
Profil
Ahojte. Potrebujem poradiť a dúfam, že vám to opíšem zrozumitelne.
premenna bbtext ==>
Lorem kod lorem

function showBBcodes($bbtext) {
$find = array(
'~\[pre\](.*?)\[/pre\]~s', -jedná sa mi o toto
'~\[b\](.*?)\[/b\]~s',          );

$replace = array(
'<pre>$1</pre>',
'<b>$1</b>',   );
return preg_replace($find,$replace,$bbtext);
}

$bbtext = ($_POST['myTextArea']);
$htmltext = showBBcodes($bbtext);

$stext = str_replace("<pre>(.*?)</pre>", "<pre><?php showCode((.*?)); ?></pre>", $htmltext);
echo $stext;

Prehodí mi to normálne na div-"pre", ale funkcia showCode nefunguje. Je to funkcia highlight_string a je funkčná, le tu to neako neviem spojazdniť. Vedeli by ste momôcť? už sa trápim druhý deň.
CZechBoY
Profil
Jaký je vlastně vstup a očekávaný výstup?
nodo
Profil
CZechBoY:
Vstup je textarea, vloží sa kód medzi PRE a funkcia na 17. riadku showCode by mala spraviť zvýraznenie kódu:

php.net/manual/en/function.highlight-string.php - ten funguje bey problémov
CZechBoY
Profil
nodo:
No a proč teda nepoužiješ highlight_string, když funguje bez problému?
Já v tý tvý funkci vidim nějakej pokus o změnu bbkódu na html, nikoliv zvýraznění.
nodo
Profil
CZechBoY:
ini_set("highlight.comment", " #939399");
ini_set("highlight.default", "#44c");
ini_set("highlight.html", "#00FF00");
ini_set("highlight.keyword", "#373; font-weight: bold");
ini_set("highlight.string", "#c30");
ini_set("highlight.bg", "#FFFFFF");

function showCode($code) {
$code = highlight_string($code, true);
$code = explode("<br />", $code);

$i = "1";
foreach ($code as $line => $syntax) {
  echo "<span class='shline'>".$i.".</span><span class='shcode'> ".$syntax."</span><br>";
  $i++;
}  
}
Táto samotná funkcia funguje, ale keď sa na ňu odvolávam na vyššie uvedenom kóde tak sa nič nezvírazní, len zobrazí

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: