Versio

[REGEX] Failure in regex

Overzicht Reageren

21/02/2006 19:05:00
Quote Anchor link
Ik ben bezig een INI highlighter te maken, maar bij het highlighten van een sectie kom ik in de problemen.

Neem nou dit INI bestand:
[TestSectie]
key = value
sleutel = waarde
orgisatie = "Jeltsoft Enterprises"
;këy = "valüê"
;k_y = value

[DebugMenu]
xTop = 23
yTop = 45
color = red
title = "DebugMenu"

Dat highlight ie als, hij wordt gehighlight als een waarde van een sleutel:
="color: #A52A2A;">[TestSectie]
key= value
sleutel= waarde
orgisatie= "Jeltsoft Enterprises"
;këy = "valüê"
;k_y = value

="color: #A52A2A;">[DebugMenu]
xTop= 23
yTop= 45
color= red
title= "DebugMenu hacked by Sebazzz"

Dit zijn de codes:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$ini
= preg_replace('#(.*?)\[(.+?)\](.*?)#e', '$this->section("\2");', $ini);
$ini = preg_replace('#^(.+?)=(.*?)$#me', '$this->keyval("\1", "\2");', $ini);

protected function section($section="") {
    if (strpos($section, ';') === 0) {
        return '['.$section.']';
    }


    if (preg_replace('#[a-z0-9]#i', '', $v) != '') {
        return 'err';
    }


    return '<span style="color: '.$this->color['section'].';">['.$section.']</span>';
}

?>


EDIT: Commentaar en tabs weggehaalt
Gewijzigd op 21/02/2006 19:07:00 door
 
PHP hulp

PHP hulp

25/05/2012 14:20:44
Gesponsorde koppelingen:
 

22/02/2006 18:30:00
Quote Anchor link
*bump* *schop*
 
Eric Cartman

Eric Cartman

22/02/2006 19:45:00
Quote Anchor link
Secties worden toch helemaal niet gehighlight? De edittor die ik gebruik highlight zo:

http://img133.imageshack.us/my.php?image=highlight1as.gif

Misschien kun je anders even de kleuren erbij melden hoe je wilt hightlighten...
Gewijzigd op 22/02/2006 19:57:00 door Eric Cartman
 
Jelmer rrrr

Jelmer rrrr

22/02/2006 20:17:00
Quote Anchor link
Misschien moet je in de 2e preg_replace niet zoeken op .+? (oftewel, op alles) maar alleen op alfanummeriek, dus geen spaties en geen >, en ook geen " in de key.
 



Overzicht Reageren