[PHP]Replaces aan 2 kanten

Pagina: 1
Acties:

  • Speedener
  • Registratie: September 2000
  • Laatst online: 14-09 14:30
Mogûh Allemaal,

Ik ben een beetje aant klooien met PHP, maar nu heb ik het volgende probleem.
IK wil dat deze tags
[c][img][/img] of [/c]

Pas werken als er aan beide kanten van de desbetreffende text, plaatje staan.

dus als er dit staat:
[c][b]BoLd[/c]
en dus niet afgesloten word dat je dan de tag ziet en niet dat dan de rest helemaal bold word, hoe doe doe ik dat??

AT, speedener

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
zoeken naar:

regexp
ubb

:)

  • Kjev
  • Registratie: Juni 2001
  • Laatst online: 02-01-2024
En [topic=309815] <-- s.v.p. niet je naam onderaan elke post zetten.

Verwijderd

Het zal wel vet omslachtig zijn maar ik doe het altijd zo:
PHP:
1
2
3
4
5
<?
if (eregi("\\[b\]",$var) &amp;&amp; eregi("\\[/b\]",$var)) {
    // replaces hier
}
?>

Verwijderd

Op zaterdag 12 januari 2002 11:24 schreef Freez0r het volgende:
Het zal wel vet omslachtig zijn maar ik doe het altijd zo:
PHP:
1
2
3
4
5
<?
if (eregi("\\[b\]",$var) &amp;amp;&amp;amp; eregi("\\[/b\]",$var)) {
    // replaces hier
}
?>
Werkt niet altijd:
code:
1
[b]hallo[/b] [c][b]blabla[/c]

Verwijderd

Hmm, zit wat in ja...

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Ik zie weer een topix bug :)

Verwijderd

Ik heb zelf een UBB parser geschreven welke bij bepaalde tags in de body van die tag gaat kijken of er nog meer tags in zitten.

[c][b]whatever [c]whatever[/c]Afbeeldingslocatie: http://tweakers.gif[/c] =>

Wordt als volgt ontleedt:

[b]whatever [c]whatever[/c]Afbeeldingslocatie: http://tweakers.gif

[b] heeft geen sluit tag .. die wordt niet vervangen:
preg_replace('!\\[(b|i|u)][^\\[]+\\[\\1]!Usi', $data)

We zitten al in [c] dus naar [c]whatever[/c] wordt niet gekeken. [img] tag wordt als [b] behandeld, op het feit na dat deze geen tags meer inzichzelf mag hebben..

En voor degene denken die denken dat dit SUPER traag is.. PHP 4.2.0-dev deed 2000 regels (vol met tags) in 3 seconden.. (P3-450, 128M)..
Valt wel mee..

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
imo zou die eerste whatever ook al ge 'c' ed moeten worden.

Verwijderd

Hij werkt van buiten naar binnen.

Verwijderd

Oh nee, kut.. hehe..
Hij pakt natuurlijk die eerste [/c]..

Maak weer een lekker voorbeeld.
Dah.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ach een goede parser heeft daar geen problemen mee hoor ;)

Maar kost wel een paar weken werk.

Verwijderd

Op zaterdag 12 januari 2002 12:06 schreef ACM het volgende:
Ach een goede parser heeft daar geen problemen mee hoor ;)

Maar kost wel een paar weken werk.
En als hij dan af is blijkt hij te traag om te gebruiken ;)

Verwijderd

[quote]Op zaterdag 12 januari 2002 11:12 schreef KevinLevie het volgende:
En [topic=309815] <-- s.v.p. niet verwijzen naar de faq >:)
Pagina: 1