Hulp bij string replacement in code-venster

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
-hunter-
Berichten: 2
Lid geworden op: 02 jun 2006, 18:49

Hulp bij string replacement in code-venster

Bericht door -hunter- » 04 jun 2006, 19:12

Beste mensen,

Ik had al een vraag gesteld bij Stijlen Support, maar zowel subject, categorie en vraagstelling waren niet helemaal juist, daarom even helemaal overnieuw...

Naast de quote-button kennen we natuurlijk ook de code-button waarin (standaard) een non-proportioneel font verschijnt. Op ons forum wordt dit niet helemaal gebruikt waar het normaal gesproken voor gebruikt wordt, maar daar worden logging regels in geplaatst die beginnen met een reeks van 7 cijfers, vervolgens een tijd/datum stempel en daarna kan van alles volgen. Ik wil nu een apart CSS ID toekennen aan die reeksen van 7 cijfers, alsmede tijd en datum. Ik ben er aardig mee op weg, maar krijg het toch niet helemaal werkend.

Ik neem aan dat ik moet zijn in bbcode.php, functie bbencode_second_pass_code($text, $uid, $bbcode_tpl)

Vervolgens staat daar een loopje alwaar een aantal zaken gezocht/vervangen worden zoals spaties en tabjes.

Nu wil ik zoeken naar $code = "/^(\d{7})/" en dit vervolgens vervangen door "<span id='capcode'>$code</span>".

Ik weet dat ik het niet helemaal goed weergeef, maar het komt erop neer dat de gezochte en gevonden $code tussen <span> </span> komt te staan zodat ik hier via de .CSS een aparte kleur aan kan toekennen.

Ik heb de $after_replace gebruikt zoals ik voor de spaties en tabjes ook wordt gebruikt :

$after_replace = preg_replace($code, "<span id='capcode'>$1</span>", $after_replace);

En dat werkt, in zoverre, alleen de code in de eerste regel wordt gevonden en vervangen, terwijl er in het code-venster meerdere regels kunnen staan met dezelfde opmaak, voorbeeld :

1234567 20:08:14 04-06-06 Wat een weertje vandaag he
7654321 20:08:20 04-06-06 Morgen wordt het nog beter weer

Dat zet een gebruiker dus in een code-venster :

Code: Selecteer alles

1234567 20:08:14 04-06-06 Wat een weertje vandaag he
7654321 20:08:20 04-06-06 Morgen wordt het nog beter weer
Waarna PHP dus de eerder genoemde replacement toepast.

Zoals gezegd lukt het dus eenmalig, maar ik denk dat ik ergens anders moet zitten en niet in de loop?

Wie helpt mij op weg......

Groeten, Peter.

Gesloten