[PHP] preg_match prob

Pagina: 1
Acties:

  • AK47
  • Registratie: Juli 2001
  • Laatst online: 04-05-2024
Ik ben dus met een forum bezig, waarbij ik ook UBB-tags inplant, dus ook de [ code] tag. Het probleem is dat er wel tags vervongen worden binnen de [ code] & [ /code] tags, nou heb ik hier een soort oplossing voor gevonden:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
//func split, splitst $tekst in 2 gedeeltes op...
function split($tekst) {
     $exp = " !\\\[code\\](\n)*(.+)(\n)*\\\[/code\\]!Uis";
     if (preg_match($exp, $tekst, $matches)) {
         $replace = "<small>code:</small><hr><pre>". $matches[2] ."</pre></hr>";
         $tekst = preg_replace($exp, $replace, $tekst);
     else {
         //ubb is een functie waar de andere regex in staat zoals de [b] &amp;amp; [/b]
         $tekst = ubb($tekst);
     }
     return $tekst;
}
?>

Het probleem is nou in het geval dat er wel [ code] & [ /code] tag in een post voorkomt er voor de rest geen UBB tags meer worden vervongen, hoe kan ik dit oplossen..?

  • AK47
  • Registratie: Juli 2001
  • Laatst online: 04-05-2024
Niemand :?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zondag 16 september 2001 12:27 schreef AK47 het volgende:
Niemand :?
Mja, ik denk dat het aan je if-constructie ligt.

Je doet of de match met de [code ] of je ubb-parsed de tekst...

Daar zal je es naar moeten kijken.

  • 2
  • Registratie: November 2000
  • Laatst online: 31-03 13:52

2

Volgens mij klopt hier sowieso niet zoveel van want ik mis ook een } om de if() af te sluiten.

Om het te fixen moet je dus die else weghalen, met andere woorden, de ubb functie onvoorwaardelijk aanroepen.

  • AK47
  • Registratie: Juli 2001
  • Laatst online: 04-05-2024
Op zondag 16 september 2001 12:36 schreef ACM het volgende:

[..]

Mja, ik denk dat het aan je if-constructie ligt.

Je doet of de match met de [code ] of je ubb-parsed de tekst...

Daar zal je es naar moeten kijken.
Ben er dus achter gekomen dat dit ook geen oplossing daarvoor is, is er wel een andere oplossing voor mijn prob..?

  • 2
  • Registratie: November 2000
  • Laatst online: 31-03 13:52

2

Op zondag 16 september 2001 20:42 schreef AK47 het volgende:

[..]

Ben er dus achter gekomen dat dit ook geen oplossing daarvoor is, is er wel een andere oplossing voor mijn prob..?
Hoe bedoel je geen oplossing? In je code staat: Als je kunt matchen op [ code] en [ /code] doe iets met wat daar tussen staat, en zo niet verwerk de ubb tags.

  • AK47
  • Registratie: Juli 2001
  • Laatst online: 04-05-2024
Op zondag 16 september 2001 22:56 schreef 2 het volgende:

[..]

Hoe bedoel je geen oplossing? In je code staat: Als je kunt matchen op [ code] en [ /code] doe iets met wat daar tussen staat, en zo niet verwerk de ubb tags.
Als je $tekst split, dan krijg je $matches[2], dat is wat er tussen de [ code] & [ /code] staat, maar hoe kom je dan aan wat er over blijft..?

  • AK47
  • Registratie: Juli 2001
  • Laatst online: 04-05-2024
Niemand :?
Pagina: 1