nlbr werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Developer C# .NET

Functie omschrijving Software Developer C# .NET gezocht voor een dynamische organisatie! Ben jij net afgestudeerd of toe aan een volgende stap in je maatschappelijke carrière? Lees dan snel verder! Wij zijn op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die een organisatie in de regio Houten wil versterken. Je werkt in deze functie aan verschillende projecten en gaat vaak op bezoek bij klanten. In deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid verwachten. Bedrijfsprofiel Waar kom je te werken? Je komt te werken bij een organisatie dat gespecialiseerd is in

Bekijk vacature »

Back-end Developer C#

Functie omschrijving We are looking for a dutch native speaker Ben jij een ervaren back-end developer, die graag in een in-house functie wil werken? Passen de woorden innovatie, programmeren en teamspeler bij jou? Zoek niet verder en lees snel verder. Voor een echt familiebedrijf in de regio van Uden ben ik op zoek naar een back-end developer, die met name kennis heeft van C# en .NET. Jij gaat de interne applicaties verder optimaliseren en nieuwe features ontwikkelen. Verder ga je de volgende werkzaamheden uitvoeren: Ondersteunen gebruikers; Uitvoeren van analyses van de software/applicaties; Maken van functionele ontwerpen en deze door vertalen

Bekijk vacature »

Software ontwikkelaar ASP .Net / C#

Functie omschrijving Gezocht! Software ontwikkelaar. Ben jij bekend met termen als ASP .Net, C# en SQL? Ben jij op zoek naar een afwisselende en uitdagende IT-functie binnen de agrarische sector? En omschrijf jij jezelf als zelfstandig, enthousiast en proactief? Dan hebben wij de perfecte functie voor jou! Als Software ontwikkelaar binnen deze organisatie ben je samen met één andere collega verantwoordelijk voor de ontwikkeling en modificatie van het support en controle programma dat binnen dit bedrijf gebruikt wordt. Je gaat hierbij bijdragen aan de vertaling van klantwensen naar effectieve softwareoplossingen. Verder bestaan je werkzaamheden uit: Technische uitwerking van de business

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Capelle ad Ijssel Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Een deel van jouw werkzaamheden: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps en Power BI.

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving Startende Software Ontwikkelaar gezocht met kennis van C# .NET! Ben jij net klaar met je opleiding en ben je op zoek naar je eerste echte werkervaring? Of heb jij al enige werkervaring maar ben toe aan iets nieuws? Dan is dit de perfecte kans voor jou! Wij zoeken namelijk een Junior Software Ontwikkelaar die klaar is voor een nieuwe uitdaging bij een leuke werkgeven in de regio Zeist. In deze functie werk jij vaak aan verschillende projecten en ga je bij klanten op bezoek. Ben jij op zoek naar een functie met uitdaging, diversiteit en verantwoordelijkheid? Dan is

Bekijk vacature »

Java developer - procesoptimalisatie (Inhouse)

Functie Wat ga je doen als Java developer? Jij als back end developer hebt al enige ervaring opgedaan in jouw vakgebied. Voornamelijk het werken met Java en Spring spreekt jou aan. Jij wordt samen met je collega developers in het team verantwoordelijk voor de gehele back end van de applicatie. Hierdoor heb jij veel zelfstandigheid in je rol en zul je ook zelf beslissingen samen met de PO maken. Er wordt gewerkt volgens de SCRUM methodiek, om zo structuur te creëren in de werkzaamheden. Binnen de 2-wekelijkse sprints pak jij je taken op die samen met de PO afgestemd zijn.

Bekijk vacature »

Microsoft Acess Developer

Functieomschrijving Wat ga je doen? Heb jij ongeveer 3 jaar ervaring als Software Developer, en komen de volgende kennisgebieden jou niet vreemd voor: MS Acces, C# & SQL? Vind jij het daarnaast leuk om maatwerk software te ontwikkelen voor klanten in een bijzondere branche? Lees dan snel verder! Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te

Bekijk vacature »

Junior Front end developer Onderwijssoftware

Functie Als Junior front end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van

Bekijk vacature »

Network Engineer (f/m/d) in Heidelberg

Network Engineer (f/m/d) The IT Services team operates and supports the IT infrastructure and services at EMBL headquarters in Heidelberg and at the laboratory’s sites in Barcelona and Rome. As part of IT Services, the Network team is responsible for managing and developing the network infrastructure in our data centres, on campus, and to our external network providers. As a leading scientific institution with highly data-intensive research, extensive data flows at and between the laboratory’s six sites and to the Internet, EMBL is connected to national and international scientific networks using state-of-the-art technologies from vendors including Cisco, Extreme Networks and

Bekijk vacature »

PHP back-end developer gezocht!

Functie Werk je liever zonder druk en keiharde deadlines maar met de focus op kwaliteit? Dan kom je hier op de juiste plek terecht! In Het team bestaat momenteel uit 12 developers, hiernaast werken er collega’s van front-end, UX maar ook marketing/sales en support. In iedere sprint ontwikkel je samen functionaliteiten met als uitdaging om de klanten de beste gebruikerservaring te bieden. Ze bieden een werkplek waar je jezelf kunt blijven ontwikkelen, en mee te werken aan zowel bestaande als nieuwe mogelijkheden. Eisen • HBO werk- en denkniveau (ze kijken niet naar een papiertje) • Je denkt graag mee over

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Senior Lead Front End Developer

Functieomschrijving Voor Stichting Waternet zijn wij op zoek naar een senior Lead Front End Developer. Binnen het DevOps team Online zijn we op zoek naar een Senior Lead Front End developer met kennis van toegankelijkheid. Deze developer zal zich bezighouden met development van webpaginas die in verbinding staan met systemen uit het back office. Taken Ontwerpen, ontwikkelen, implementeren, documenteren en beheren van webapplicaties in een Azure-omgeving Debuggen, analyseren en oplossen van problemen in de OTAPomgevingen Je participeert in het DevOpsTeam Online voor het verder uitwerken en implementeren van gebruikerswensen Je bent betrokken bij toegankelijkheid audits en het implementeren van WCAG

Bekijk vacature »

Front-end developer (React)

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Front-end Developer

Functie omschrijving Wij zijn op zoek naar een Front-end Developer! Als Front-end Developer binnen dit softwarebedrijf ga je de frontends voor zowel je eigen interne projecten als die voor klanten opzetten, onderhouden en uitbreiden. Je zet ideeën om naar mooie successen voor de klanten. Dat is in een notendop wat je gaat doen! Wat kun je verwachten? Je werkt aan de doorontwikkeling van bestaande maatwerkapplicaties. Bijvoorbeeld wanneer de klant de applicatie wil uitbreiden met een nieuwe feature; Samen met het team van backenders en desginers zet je nieuwe ideeën van klanten om naar mooie oplossingen; Je werkt met verschillende frameworks.

Bekijk vacature »
Rick kem

rick kem

17/12/2013 17:10:51
Quote Anchor link
Hallo ik heb het volgende script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
function nlbr($tekst){
    $tekst = str_replace("\\r\\n","<br />",$tekst);

return $tekst;
}

$text = nlbr($row->message);
$text = Environment::Filter($text);
echo $text;
?>


En weergeeft de volgende uitkomst:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
adsadsads<br />asddas<br />asdads<br />adsads<br />sadsad<br />asdsads



Terwijl het dit moet zijn:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
adsadsads
asddas
asdads
adsads
sadsad
asdsads



Environment::Filter doet het volgende:
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
<?php
public static function Filter($value, $enableHTML = 1) {
        switch($enableHTML)
        {
            case
1:
             return mysql_real_escape_string(htmlentities($value,ENT_QUOTES));
             break;
            
            case
2:
             return mysql_real_escape_string($value);
             break;
            
             default:

              return mysql_real_escape_string($value);
             break;
            
        }
    }

?>



Alvast bedankt voor de hulp

Code tags aangepast.[/modedit]
Gewijzigd op 17/12/2013 17:39:21 door Wouter J
 
PHP hulp

PHP hulp

24/05/2025 09:07:20
 
Ward van der Put
Moderator

Ward van der Put

17/12/2013 17:25:05
Quote Anchor link
Waarom gebruik je nl2br() niet?

Kort in elk geval "\\r\\n" in tot "\r\n".
 
Rick kem

rick kem

17/12/2013 17:27:12
Quote Anchor link
Dat is in de database wel het geval, maar tijdens het uitvoeren van de $text string niet.
 
Wouter J

Wouter J

17/12/2013 17:38:21
Quote Anchor link
\r\n
\n
\n\r

Allemaal opties die allemaal hetzelfde doen, maar dan voor een andere OS. Gebruik gewoon nl2br, die houdt rekening met al deze inconsistenties.

Wat opmerkingen:
- Gebruik true en false, geen 1 en 2
- mysql_real_escape_string is alleen voor, je hoort het goed, MySQL. Een database dus, het heeft niks maar dan ook niks te doen met gegevens die je echoëd.
- htmlentities, die zorgt dat HTML tags niet gerendert worden. Dus die <br> die nlbr (of de betere nl2br) in de strings plaatst worden allemaal niet gerendert. Oplossing? Plaats nlbr (of de betere nl2br) na de filter method
- als default en een case gelijk zijn kun je gewoon die cache weghalen.
- bij een return stopt de method executie, PHP zal dus nooit bij break; aankomen, die kan dus ook gewoon weg
 
Kris Peeters

Kris Peeters

17/12/2013 17:42:06
Quote Anchor link
(EDIT: ondertussen is hier al van alles geschreven)

Om te beginnen; je weet dat php die functie al standaard heeft?
Ze heet nl2br , zie http://php.net/nl2br .

--------

Je mag niet alle filter-functies tegelijk gebruiken.

Van elk van die functies moet je zelf heel goed beseffen waarom je ze gebruikt. Anders gebruik je ze fout.

mysql_real_escape_string() is om mysql_ string te maken.
bv.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php $sql = "SELECT username, email, rank FROM users WHERE username='" . mysql_real_escape_string($_POST['username']) . "'" ;
?>

Je mag niet zomaar overal mysql_real_escape_string gebruiken.

Voor gelijk welke andere reden dan een SQL-string maken, gebruik je mysql_real_escape_string dus niet!

----

htmlentities() gebruik je om de HTML te beschermen.
bv. iemand post dit:

$_POST['message'] = "IK ben John.</div></div>";

Als je dit zomaar op het scherm zet, worden die </div> 's actief; en wees maar gerust dat dit de layout van je hele website naar de *** helpt.

Wat doet htmlentities? htmlentities transformeert html-elementen (de speciale karakters in de tags) in karakters die geen actieve HTML-functionaliteit hebben.

bij voorbeeld: het element <br /> wordt omgezet naar &lt;br /&gt;. Dat ziet er (op het scherm) exact uit zoals <br />, maar heeft niet de actieve werking, die zorgt dat je een nieuwe lijn ziet.

... en dit is precies wat jij voor hebt.

----

Dus:
Gooi function filter() maar weg. Ze helpt je niet.

Nu ben ik wel benieuwd in welke context je deze functies gebruikt.
Laat ons dat probleem even bespreken; dan zetten we daar direct de juiste functies.
Gewijzigd op 17/12/2013 17:48:37 door Kris Peeters
 
Rick kem

rick kem

17/12/2013 17:48:49
Quote Anchor link
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php

/**
 * @author Rick
 * @copyright 2013
 */
//include("include/ubb.class.php");

function nlbr($tekst){
    $tekst = str_replace("\\r\\n","<br />",$tekst);

return $tekst;
}
function
ubb($text) {
    $text = preg_replace("#\[b\](.*?)\[/b\]#si","<b>\\1</b>", $text);
    $text = preg_replace("#\[u\](.*?)\[/u\]#si","<u>\\1</u>", $text);
    $text = preg_replace("#\[i\](.*?)\[/i\]#si","<i>\\1</i>", $text);
    $text = preg_replace("#\[img\](.*?)\[/img\]#si","<img src=\\1>", $text);
return $text;
}


if(isset($_GET['cat_id']) || isset($_GET['id'])){
    include("pages/news/cat.php");
    
}
elseif(isset($_GET['id'])){
    include("pages/news/id.php");

}
else{
    $per_pagina = 5; # aantal berichten per pagina
    $first_last_link = true; # links naar eerste & laatste pagina

    $start = isset($_GET['s']) && ctype_digit($_GET['s']) ? $_GET['s'] : 0;
    $sql = MySQL::Query("SELECT * FROM news ORDER BY id DESC LIMIT {$start}, $per_pagina");
    
    if(mysql_num_rows($sql) == 0){
        echo'<div class="error">Er zijn nog geen nieuwsberichten geplaatst.</div>';
    }
else{
        while($row = mysql_fetch_object($sql)){
?>

        <div id="headernewsbig"><?php echo ucfirst(Environment::Filter($row->title)); ?></div>

        <div id="big-content">
            <div class="rank_blok">
            <center>
            <img src="images/profile/onbekend.png">
            <br />
            <?php
            $sql_user
= MySQL::Query("SELECT username,id FROM users WHERE id = '".Environment::Filter($row->user_id)."' ORDER BY id DESC LIMIT 1");
            if(mysql_num_rows($sql_user) == 0){
                echo'Onbekend';
            }
else{
            ?>

                <a href="index.php?p=profile&id=<?php echo Environment::Filter($row_user->id); ?>">
                <?php echo ucfirst(Environment::Filter($row_user->username)); ?>
                </a>
            <?php
            }
            ?>

            <br />
            <?php echo Environment::Filter($row->date); ?>
            </center>
            </div>
            
            <?php
            $tags
= array('html','opmaak'); // deze tags zal hij uitvoeren ubb_TAG(); (kijk in de klasse wat het precies doet)
            $text = nlbr(ubb(htmlentities($row->message,ENT_QUOTES)));
            echo $text;
            ?>

            <p align="right"><a href="index.php?p=news&cat_id=<?php echo Environment::Filter($row->cat_id); ?>&id=<?php echo Environment::Filter($row->id); ?>">Reageren</a></p>
        </div>
        <div id="big-footer"></div>
<?php
        }
    }

?>
 
Erwin H

Erwin H

17/12/2013 17:50:44
Quote Anchor link
Even alle opmerkingen ten spijt, ik vraag me af wat de poster nu eigenlijk wel. Hij geeft aan de linebreaks te willen vervangen door html break elementen. Vervolgens zegt hij:
Rick kem op 17/12/2013 17:10:51:
En weergeeft de volgende uitkomst:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
adsadsads<br />asddas<br />asdads<br />adsads<br />sadsad<br />asdsads

Terwijl het dit moet zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
adsadsads
asddas
asdads
adsads
sadsad
asdsads

Uhm, als ik de uitkomst zie, dan staan daar alleen html break elementen in en geen linebreaks. Missie geslaagd toch?
 
Kris Peeters

Kris Peeters

17/12/2013 17:54:29
Quote Anchor link
Erwin H op 17/12/2013 17:50:44:
ik vraag me af wat de poster nu eigenlijk wel.


Op het scherm ziet hij <br/ >
Als hij de page source bekijkt, ziet hij &lt;br /&gt;

Wat hij wil:
Op het scherm wil hij een nieuwe lijn zien.
Als hij de page source bekijkt, wil hij <br /> zien

------

Maar toch even verder gaan op Erwin zijn vraag.
Wil je dit echt wel? Wil je echt dat tekst uit een database zorgt voor actieve HTML?

Wie heeft die tekst in die DB gestoken? News items, juist? Dus mensen posten via jouw site een tekst. Een tekst met UBB. Die tekst gaat naar de DB.
Je wil niet dat gebruikers de mogelijkheid hebben om de layout van jouw site aan te passen.

De normale gang van zaken, is de volgende.
Op jouw site staat een <textarea> Daarin worden nieuwe lijnen opgeslagen als PHP_EOP (= "\n" of "\r\n").
Die worden dus als \n in de database gezet.

Wanneer je die post opnieuw op het scherm zet, passeer je de waarde door nl2br.

Dus, als ik me niet vergis:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo ubb(nl2br(htmlentities($row->message)));
?>

Eerst de entities vervangen; dan is $row->message volledig HTML inactief.
Dan de nl vervangen door <br>
Dan de UBB vervangen

Wat je niet mag doen, is htmlentities gebruiken als filter bij de INSERT in de DB.
Dus, als je dit soort tekens in de db ziet: &lt;br /&gt; dan ben je fout bezig.
Gewijzigd op 17/12/2013 18:15:54 door Kris Peeters
 
Erwin H

Erwin H

17/12/2013 18:22:43
Quote Anchor link
Kris, die tekens ziet hij helemaal niet in de DB. Die komen voort uit de htmlentities call die in Environment::filter worden gedaan alvorens de data op het scherm wordt getoond.

Enige probleem (wat ik zie) is dus die htmlentities call. Haal die weg en klaar. Of, doe die voor het vervangen van de linebreaks.

P.S. mysql_real_escape_string aanroepen op dit punt zie ik op zich niet als een probleem (is geen oorzaak van de wat er nu gebeurt), maar is natuurlijk wel verkeerd.
Gewijzigd op 17/12/2013 18:23:01 door Erwin H
 



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.