List met BBcode schrijven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Specialist i-veiligheid industriële automatis

De afdeling Informatievoorziening is richtinggevend op het gebied van informatievoorziening, fungeert als waterschapsbrede informatiedienst en levert de benodigde ICT voorzieningen. De afdeling heeft een proactieve instelling om tijdig te kunnen inspelen op ontwikkeling en technologieën op het tempo van verandering. In ons waterschap geven we op zowel operationeel, als ook beleidsmatig niveau invulling aan het beheersen van risico’s voor informatieveiligheid. Doel hiervan is om op professionele wijze de risico’s van cybercrime en data lekken te beheersen en de gevolgen ervan te beperken.. Voor het cluster Informatieadvies zoeken wij een enthousiaste: Specialist i-veiligheid industriële automatisering (ICS) Voor 36 uur per week,

Bekijk vacature »

Backend / full stack PHP developer met ervaring

Backend / full stack PHP developer met ervaring Wie wij zoeken Wij zoeken een ervaren PHP backend / full stack developerdie zelfstandig en gestructureerd werkt. Wat doen wij? Alflex Technologies ontwikkelt en produceert maatwerkelektronica (hardware en embedded software), mobiele apps, web- en PC-applicaties voor een hele brede markt (BtB). Unieke producten met functies als legionellabestrijding, corrosiebestrijding, smart building/ lightning, (medicijn)verpakkingsmachines, sensoring en nog veel meer. Deze producten worden steeds vaker voorzien van connectiviteit met behulp van LoRa, NB-IoT, LTE-M en zijn daarmee verbonden met het Internet (IoT). Dit stelt weer extra eisen op het gebied van dataverzameling, -ontsluiting en -presentatie

Bekijk vacature »

Specialist Informatiebeveiliging

Specialist Informatiebeveiliging Waar een linked-data-omgeving, 500 licenties op databanken en digitale tijdschriften en ISO 27001/27002 samenkomen. Dat is de KB in Den Haag. En het is de plek waar jij als specialist informatiebeveiliging waardevol digitaal erfgoed, maar ook informatie van en voor miljoenen bibliotheekbezoekers, beschermt tegen cybercriminaliteit. Stilstaan is geen optie. Als onze specialist informatiebeveiliging werk je in ons complexe IT-landschap met eindgebruikersdiensten, landelijke netwerkdiensten en diensten die ons nationaal erfgoed duurzaam opslaan. We ondersteunen de informatiebeveiliging vanuit een afdeling overstijgend team. Kortom, je staat er dus niet alleen voor! Als specialist informatiebeveiliging help je de KB-kaders vast te stellen

Bekijk vacature »

IT Systems Support Specialist

IT Systems Support Specialist Optelec Nederland B.V. located in Barendrecht OPTELEC NEDERLAND B.V. is part of the Vispero™, the world's leading developer and manufacturer of software, optical and electronic devices. Vispero™ improves the quality of life of people with visual impairments by providing simple and effective solutions. For our office in Barendrecht we are immediately looking for the following colleague: About You… Experienced with Windows Desktop & Server OS and VMware environment. Strong analytical, troubleshooting, and problem-solving skills Ability to communicate effectively across organizational boundaries Ability to research and understand technical documentation Experience with Microsoft Office applications Good organizational and

Bekijk vacature »

Maurits de Jong

Maurits de Jong

18/01/2011 21:50:31
Quote Anchor link
Hi allen,

Ik ben bezig met een soort BBcode aan het schrijven. Nu wil ik zorgen dat iemand die in BBcode schrijft, dit kan opschrijven:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
Hans, hier het boodschappenlijstje:
* 2,5 kg aardappels
* 2 pakken melk
* 500 g rundergehakt


om dit te bereiken:

Hans, hier het boodschappenlijstje:
  • 2,5 kg aardappels
  • 2 pakken melk
  • 500 g rundergehakt


Hoe kan ik dat bereiken? Ik heb al een beetje zitten prutsen met reguliere expressies, waarin men zoekt naar een begin van een regel en dan een asterisk, maar je weet natuurlijk niet hoeveel lijst-items er zijn...
Gewijzigd op 18/01/2011 21:52:24 door Maurits de Jong
 
PHP hulp

PHP hulp

05/03/2021 20:22:56
 
Mark L

Mark L

18/01/2011 22:59:21
Quote Anchor link
Leuk! Dit heb ik laatst nog gemaakt. Ik heb het zelf gedaan met een preg_replace_callback();

Je kunt als pattern dan deze gebruiken '#((^|\n)( |\t)*\*(.*?)){2,}\n#', waarbij je er zeker van moet zijn dat de enters in de string ook echt als \n zijn, en niet als \r\n of iets anders.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
Hans, hier het boodschappenlijstje:
* 2,5 kg aardappels
* 2 pakken melk
* 500 g rundergehakt

Maar vergeet ook niet:
   * 3 ons worst
   * vijf kilo mais
Trouwens, ik gebruik hier een aterisk: *, maar er gebeurt niets.

Ook nu niet:
* Bij gebruik van maar n aterisk maak je uiteraard ook geen opsomming.


Zowel lines 2-4 wordt gepakt door de pattern. Maar ook lines 7-8 wordt gepakt. De rest niet!

Bij de preg_replace_callback kun je dan een functie aanroepen, die de volledige string krijgt. Hier kun je dan de aterisk (*) exploden uit die string en heb je een array met alle list-items.
 
Maurits de Jong

Maurits de Jong

18/01/2011 23:27:01
Quote Anchor link
Mark L op 18/01/2011 22:59:21:
Leuk! Dit heb ik laatst nog gemaakt.

Wat grappig!

Thanks! Ik ga er direct mee aan de slag!
 
Koz T

Koz T

15/05/2012 14:36:27
Quote Anchor link
Dit is precies wat ik nodig heb! Zou iemand deze functie met ons willen delen?
 
Victor -

Victor -

15/05/2012 17:25:41
Quote Anchor link
@Ties, Dat staat toch in de comments hierboven?
Ik heb het niet getest, maar dit zou moeten werken.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$string
= "Hans, hier het boodschappenlijstje:\n
* 2,5 kg aardappels\n
* 2 pakken melk\n
* 500 g rundergehakt\n"
;
$uitkomst = preg_replace_callback('#((^|\n)( |\t)*\*(.*?)){2,}\n#', 'make_list_items', $string);

function
make_list_items($string = null) {
    if($string !== null) {
        return preg_replace('#((^|\n)( |\t)*\*(.*?)){2,}\n#', '<li>$1</li>', $string);
    }
}

?>
Gewijzigd op 15/05/2012 17:40:42 door Victor -
 
Wouter J

Wouter J

15/05/2012 17:29:29
Quote Anchor link
Dit is niet BBcode maar MarkDown. Zoek eens op php markdown
 
Koz T

Koz T

15/05/2012 21:21:15
Quote Anchor link
Ik heb hier precies gevonden wat ik bedoelde:
http://www.pfz.nl/archief/943778-ubb-met-automatische-list-herkenning/

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
function generate_lists($text)
{

    $lists = array();
    preg_match_all("#(\n|\r)(\s{0,}-(.*))+#", $text, $lists, PREG_PATTERN_ORDER);
    if(count($lists) > 0)
    {

        unset($lists[1]); // not neccesary here
        foreach($lists[0] as $list)
        {

            $items = array();
            $listcode = "\n<ul>\n";
            preg_match_all("#^\s{0,}-[\s]{0,}(.*)(\n|\r)?$#m", $list, $items, PREG_PATTERN_ORDER);
            unset($items[0]);
            foreach($items[1] as $item)
            {

                $listcode .= "  <li>" . $item . "</li>\n";
            }

            $listcode .= "</ul>";
            $text = str_replace($list, $listcode, $text);
        }
    }

    return $text;
}


$forum_post = "
Test.<br />
Nog een test<br />
- Bladiebladiebla
- Boedieboedieboe
Okee dan!<br />
- Bladiebladiebla
Er zijn vele ex-php'ers in de wereld.<br />
Boe"
;

echo generate_lists($forum_post);

?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.