• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Maffia Hotel: een browsergame waarin je van lobbygast naar spil van het hotel groeit

    eeyk 22 oktober 2026 om 18:43
  • Crime Club volledig herschreven vanaf nul

    frio 19 oktober 2026 om 23:57
  • Malavita (nieuwe maffia game, van 0)

    jos 19 oktober 2026 om 23:18
  • Herkent deze Notion-structuurscan echte problemen?

    Jeroen.G 19 oktober 2026 om 15:09
  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Syntax 14 oktober 2026 om 16:04
  • 🚀 WE ZOEKEN TESTERS! 🚀

    Servertjee 3 oktober 2026 om 10:56
  • Luchtvaartsoftware: Hoe technologie de moderne luchtvaart verandert

    saggy2829 30 september 2026 om 19:31
  • Hoe gebruiken jullie WhatsApp voor marketing en klantopvolging?

    aiqanobzfsej5 29 september 2026 om 12:55

Marktplaats

  • [TE KOOP] Malavita.be [Maffiaspel, gebaseerd op omicidio.nl, unieke code]

    Dpm_x 24 oktober 2026 om 13:53
  • [TE KOOP] Likeboost24.nl: complete SMM-webshop met eigen merk, volautomatische levering en betalen op de eigen pagina

    Jeroen.G 16 oktober 2026 om 14:27
  • Te koop: TuinKlussen.be, een kant-en-klaar platform voor tuinklussen in Vlaanderen en Brussel

    frio 13 oktober 2026 om 21:08

Regex, match onvolledige html tags

  • wimmpie
  • 2 maart 2019 om 15:18
  • wimmpie
    âllo âllo
    Berichten
    1.170
    • 2 maart 2019 om 15:18
    • #1

    Hallo iedereen,

    Ik ben momenteel wat aan het programmeren en ik heb deze situatie voor:
    Ik heb een blok html die wordt afgekort door de substr() functie.
    Het betreft hier het begin van een artikel met erna een "lees meer" knop.

    Nu kan dat artikel natuurlijk html codes bevatten, e.g. de strong-tag. Hier kan de substr() functie aardig de html verpesten.
    Ik heb al een functie die alle geopende tags ook weer sluit.
    Maar nu zit ik nog met het volgende scenario, de substr() functie kan halve tags verwijderen.
    Bijvoorbeeld:

    HTML
    <strong>
    Hallo allemaal
    </strong>
    <stro

    En dus wil ik met een regex de tags die niet volledig zijn eruit halen.
    Ik heb momenteel de volgende regex

    Diff
    /(<.*)(?!>)/


    Maar deze doet het helaas niet... Wie zou mij kunnen helpen? Ik geraak er zelf echt niet uit.
    Hij zou dus moeten matchen met de onvolledige tag in de onderstaande voorbeelden:

    Diff
    Woordje <e
    <a href=
    <strong>qsdf</strong> <str

    Het probleem is nu dat hij ook volledige tags matcht. Bv. bij de laatste regel matcht hij de volledige regel aan.

    Alvast bedankt!

    Willem

    Bewerkt één keer, laatst door wimmpie (2 maart 2019 om 15:26).

  • Gast, wil je besparen op je domeinnamen? (ad)
  • FangorN
    Professional
    Artikelen
    2
    Berichten
    737
    • 2 maart 2019 om 16:31
    • #2

    Meestal grijp je pas naar een regexp als alle eenvoudigere oplossingen zijn uitgeput. Vaak bestaan er goedkopere string-functies die precies/ongeveer doen waar je naar zoekt.

    Ik denk dat dit vraagstuk eenvoudig(er) opgelost kan worden door gewoon te kijken waar de laatste voorkomens van > en < zich bevinden met behulp van strrpos().

    Indien de laatste < na de laatste > valt (wellicht zul je nog andere randgevallen moeten controleren) wil dit zeggen dat je een niet-gesloten tag hebt. Je kunt dan de positie van de laatste < pakken.

    Let erop dat strlen() bytes telt, en geen karakters. Het is waarschijnlijk beter om string-bewerkingen met mb-functies te doen. In dat opzicht is het dus ook verstandiger om mb_strrpos() te gebruiken in plaats van strrpos().

  • wimmpie
    âllo âllo
    Berichten
    1.170
    • 2 maart 2019 om 16:34
    • #3

    Verdorie, en daar heb ik dan een halve dag naar zitten staren...
    Thanks voor de tip :p

  • FangorN
    Professional
    Artikelen
    2
    Berichten
    737
    • 2 maart 2019 om 19:52
    • #4

    Een alternatief is bijvoorbeeld dat je een inleidende alinea in een apart veld opslaat, of deze paragraaf een speciale class meegeeft (zodat deze ook dikgedrukt wordt, als een soort samenvatting, dit zie je ook geregeld in kranten). Bij laatstgenoemde methode zou je alles in één veld kunnen opslaan, en die eerste paragraaf uit de tekst kunnen hengelen met een regexp.

    Bewerkt één keer, laatst door FangorN (11 maart 2019 om 16:49).

Registratie

Nog geen account? Registreer je nu en word deel van onze community!

Nu registreren Aanmelden

ICT Nieuws

  • PHP waarschuwt voor twee ernstige bugs die makkelijk uit te buiten lijken

    Aaron 22 oktober 2026 om 22:19

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacyverklaring
  10. Contact
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design