De topic titel klinkt misschin beetje vaag, maar ander kreeg ik het niet omschreven. Ik zit al ff te puzzelen op dit probleem, en heb al overal gezocht.
Ik heb het volgende scriptje (ff weg gelaten wat nvt is):
Maar dit gaat dus niet werken, het gaat mis bij $color[\\1] (logisch), maar hoe ik dit oplossen. Hoe krijg ik dus in die uitkomst "\\1" als key voor $color ?
Misschien een work-around ?, of kan het ook 'netjes'?
[edit]
Oja .. het kan dus meer dan 1 maal voorkomen dat in een regel die chr(03) voorkomt, anders hat het wel gekund met een preg_match:
[edit2] ff wat lelijke typfouten weg gehaald.
Ik heb het volgende scriptje (ff weg gelaten wat nvt is):
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| <? $color = array ('white' // 0 ,'black' // 1 ,'#00007F' // 2 ,'#009300' // 3 ,'#FF0000' // 4 ,'#7F0000' // 5 ,'#9C009C' // 6 ,'#FC7F00' // 7 ,'#FFFF00' // 8 ,'#00FC00' // 9 ,'#009393' //10 ,'#00FFFF' //11 ,'#0000FC' //12 ,'#FF00FF' //13 ,'#7F7F7F' //14 ,'#D2D2D2' //15 ); function replace($line) { global $color; $line = preg_replace("/".chr(02)."(.*?)".chr(02)."/","<b>\\1</b>",$line); $line = preg_replace("/".chr(03)."([0-9]{1,2})/","<font color=$color[\\1]>",$line); return $line; } ?> |
Maar dit gaat dus niet werken, het gaat mis bij $color[\\1] (logisch), maar hoe ik dit oplossen. Hoe krijg ik dus in die uitkomst "\\1" als key voor $color ?
Misschien een work-around ?, of kan het ook 'netjes'?
[edit]
Oja .. het kan dus meer dan 1 maal voorkomen dat in een regel die chr(03) voorkomt, anders hat het wel gekund met een preg_match:
PHP:
1
2
3
4
5
| <? if (preg_match("/".chr(03)."([0-9]{1,2})/",$line,$temp) { preg_replace("/".chr(03)."([0-9]{1,2})/","<font color=".$color[$temp[1]].">",$line); } ?> |
[edit2] ff wat lelijke typfouten weg gehaald.