highlight functie

Status
Niet open voor verdere reacties.

Barry_127

Gebruiker
Lid geworden
20 jan 2003
Berichten
478
hoi iedereen,

ik wil een highlight functie maken maar het wil nog niet helemaal werken alles wat tussen de [code ] en [/code ] (zonder spaties dan) komt te staan word gehighlight maar als ik in de textarea eerst tekst zet en dan de code tag komt de code toch boven aan te staan

hier heb ik het script:

PHP:
<?php
function dik($code){
	$code = highlight_string($code);
	return $code;
}
if(!empty($_POST))
{
	$mssg = ($_POST["script"]);
	$mssg = preg_replace('_\[code\](.*?)\[/code\]_ise',"dik('\\1')", $mssg);
	echo $mssg;
}
else
{
	?>
	<form method="post" action="test.php">
		<textarea name="script"></textarea>
		<br>
		<input type="submit">
	</form>
	<?php
}
?>
 
Try this:
PHP:
<?
function kleur($bericht)
{
$bericht = str_replace("<br />","",$bericht);
$bericht = unhtmlspecialchars(addslashes($bericht));
$bericht = str_replace("\$","\\\\$",$bericht);
$bericht = "<span style=\"font-size: 12px\">" . @highlight_string(stripslashes($bericht),1) . "</span>";
return "<hr>" . $bericht . "<hr>";
}

function unhtmlspecialchars($bericht)
{
$vervangen = array("&quot;" => "\"","'" => "'","&lt;" => "<","&gt;" => ">","&amp;" => "&");
  foreach($vervangen AS $oud => $nieuw)
  {
  $bericht = str_replace($oud,$nieuw,$bericht);
  }
return $bericht;
}

if(isset($_POST["script"]) == TRUE)
{
  if(get_magic_quotes_gpc() == FALSE)
  {
  $script = addslashes($_POST["script"]);
  }
  else
  {
  $script = $_POST["script"];
  }
$script = @preg_replace("/\[code\](.+)\[\/code\]/Usie","kleur('\\\\1')",stripslashes(nl2br(htmlspecialchars($script)))); 
echo $script;
}
else
{
    ?>
    <form method="post" action="barry.php">
        <textarea name="script" cols="20" rows="10"></textarea>
        <br>
        <input type="submit">
    </form>
    <?php
}
?>
FF wat specificaties over deze code:
Buiten [code ][/code] kan geen html code worden gebruikt en binnenin [code ][/code] worden php codes gehighlight. Binnenin [code ][/code] was 't heel wat werk om die slashes en quotes goed gehighlight te krijgen, maar zoals de reguliere expressie nu is, wordt hij niet veel beter :)

Succes d'rmee :thumb: (en niet al te veel klooien, elke verandering kan dramatisch zijn :p)
 
Laatst bewerkt:
Ligt dan aan jou, test 't script maar eens op mijn server: *link weggehaald ivm eigen priveserver enzo :p*

// Edit: d0h, ligt niet aan jou, 't lag aan de reguliere expressies van Helpmij ;)
Kopieer de code van m'n vorige post ff opnieuw en probeer 't dan nog es ?
 
Laatst bewerkt:
Voor het geval 't je nog niet opgevallen was, lees m'n vorige post nog ff ;)
 
ik heb het script rechtstreeks gecopieerd en het werkt nog niet :S

ik hab alleen action="barry.php" veranderd naar action="test.php"
 
Die was eiglijk meer voor 't versturen van 't mailtje :p
Magoed, probleem opgelost, graag gedaan, etc etc ;)
 
JPeetje, ik krijg hem niet goed in mijn script deel systeem (soort forum dus)

zou je even willen kijken voor mij :rolleyes:

zo ja dan geef ik je de link in een PM omdat ik niet wil dat het systeem al vol word gepleurd voor het af is
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan