Toon posts:

[PHP] preg_replace met functie executie*

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb deze code:

$bericht = preg_replace("!<\?.*\?>!Usi", SourceCode("\\0"), $topic[bericht]);

SourceCode() is het highlighten.

Maar nu komt er als ouput \0 in plaats van de gehighlightde text.

Hoe kan ik dit oplossen?

ik had ook dit:

preg_match("!<\?.*\?>!Usi", $topic[bericht], $colorcoding);
$bericht = preg_replace("!<\?.*\?>!Usi", SourceCode($colorcoding[0]), $topic[bericht]);


maar dan doet ie het maar voor 1 keer <?php ?> als je dan meerdere phpcodes hebt worden ze allemaal hetzelfde :?

of hoe dan ze dat hier met php dat highlighten.

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Probeer ipv "\\0" eens $0, dat zou moeten werken vanaf php 4.04

Verwijderd

Topicstarter
dan laat ie $0 zien:

hier is de code van de functie:

<?php

function SourceCode($code) {

ob_start();
@highlight_string($code);
$code = ob_get_contents();
ob_end_clean();

$code = eregi_replace("([^\n\r])(( ){1})", "\\1 ", $code);
$code = str_replace("  ", "  ", $code);
$code = str_replace(" ", "  ", $code);

return "$code";
}

?>

Verwijderd

peehaapee :? :? is dat nieuw ?? ken ik niet ;) :P

Verwijderd

Is al minstens 5 keer eerder gevraagd, zoek maar eens [search=php code highlight code] je moet gebruik maken van de /e modifier.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

titel maar wat leesbaarder gemaakt...

  • tomato
  • Registratie: November 1999
  • Niet online
code:
1
...!Usi", 'SourceCode("$0")', $topic[...

Nu moet je er zeker wel uitkomen...

Verwijderd

Topicstarter
ook niet dat antwoord heb ik al eens gehad.

ik heb dat gedaan wat jij gaf en Usi in ise verandert en toen deed ie het.

  • tomato
  • Registratie: November 1999
  • Niet online
rja: ik heb dat gedaan wat jij gaf en Usi in ise verandert en toen deed ie het.
Klopt, ik had je pattern niet eens bekeken :o

Maar het is wel vrij duidelijk dat je absoluut geen idee hebt hoe je code nu werkt, ook al werkt het (denk jij ;)).

Weet je wat een vraagteken achter een quantifier doet? Weet je wat een quantifier is? Weet je wat de /U modifier doet? Weet je wat de /e modifier doet?

Begrijp je hoe het stukje code dat je nu hebt werkt?


Ik bedoel dat het wellicht goed is om je een beetje te verdiepen in materie ipv een paar tekentje op aanraden van anderen te veranderen en het dan maar zo te laten omdat je denkt dat het werkt (zeker als je bedenkt dat dit een programmeerforum is). Dan kun je het de volgende keer ook zelf.
Klinkt misschien offensive, zo is het niet bedoeld. Gewoon als opbouwende kritiek, een soort 'tip' ;)

Verwijderd

Topicstarter
euy jongen! hij werkt toch niet goed en ja ik lees die dingen van php.net : http://www.php.net/manual/en/pcre.pattern.modifiers.php

maar snap er geen hol van.
Pagina: 1