nlbr werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior PHP Developer

Functieomschrijving Junior PHP Developer gezocht! Voor een opdrachtgever in de regio Gelderland zijn wij op zoek naar een Junior PHP Developer die onderdeel gaat worden van het ontwikkelingsteam van deze organisatie. In deze functie ga jij aan de slag met het schrijven van software voor de aansturing van en het managen van windparken en bijbehorende onderdelen. Hiernaast ga jij je bezighouden met het ontwikkelen, testen en onderhouden van diverse webapplicaties. Het team waarin je komt te werken bestaat uit 3 developers, hierdoor krijg je veel verantwoordelijkheid en de kans om jezelf verder te ontwikkelen. Er wordt echter wel van je

Bekijk vacature »

Senior Java Developer

Als Senior Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en

Bekijk vacature »

Junior Fullstack Developer

Functie omschrijving Heb jij je universitair diploma Informatica afgerond en ben jij op zoek naar een startersfunctie waar jouw ontwikkeling in een hoog vaandel staat? Voor een softwarebedrijf in Amsterdam zijn wij op zoek naar een Junior Fullstack Developer. Je begint met een op maat gemaakte training om de kennis bij te spijkeren die jij nog mist. Uiteraard leer je het meeste tijdens je werk, maar de training geeft je hiervoor alvast de juiste handvatten. Je kunt het volgende verwachten! Jij ontwikkelt in technieken als Java, Javascript en SQL. Je werkt hierbij volgens de Agile/Scrum methode; Na het afronden van

Bekijk vacature »

ERP Developer fleet managementsysteem

Wat ga je doen als ERP Developer fleet managementsysteem? Als ERP developer speel jij een belangrijke rol bij het doorvoeren van wijzigingen en verbeteringen binnen het fleet managementsysteem. Jouw expertise op het gebied van ERP systemen stelt jou in staat om de applicatie optimaal te laten functioneren en te blijven ontwikkelen. Als lid van het IT-team werk je nauw samen met andere developers en het business team om het fleet managementsysteem te integreren met andere systemen. Je bent verantwoordelijk voor het ontwikkelen van nieuwe functionaliteiten en het implementeren van verbeteringen op basis van de wensen en eisen van onze klanten.

Bekijk vacature »

Java Developer

Java Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

.NET developer

Functie Als .NET developer wordt jij onderdeel van ons ICT team. In dit multidisciplinaire team ben jij samen met onze senior .NET ontwikkelaar en medior .NET ontwikkelaar verantwoordelijk voor ons ERP systeem. In dit systeem (Navision) ga jij leren ontwikkelen. Wij bieden jou dan ook een gedegen opleiding aan, samen met de ondersteuning van onze Senior .NET developer. Daarnaast ga jij aan de slag met ons portaal geschreven in Sharepoint. Verder ben jij verantwoordelijk voor EDI verkeer en het ontwikkelen binnen het ERP systeem en andere toepassingen en rapportages. Van jou wordt verwacht dat jij het proces goed leert kennen

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Wij zijn voor een leuke opdrachtgever in omgeving Naaldwijk op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Wij zoeken iemand die breed inzetbaar is en die aan veel verschillende applicaties wilt werken. Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind

Bekijk vacature »

Front end developer React Sportgames

Functie Als Front end developer ga jij aan de slag bij een gave en bekende organisatie op het gebied van sportgames. Jij gaat aan de slag in een scrumteam met 6 developers die gepassioneerd en actief bezig zijn om spelers kwalitatieve en mooie spelervaringen aan te bieden. Als scrumteam werken ze in drie wekelijkse sprints en begin je iedere ochtend met een stand-up. Als Front end developer werk jij bij deze organisatie voornamelijk met Javascript, html, css en React. Er wordt veel gebruikt gemaakt ook van C#, Docker en Kubernetes. Het team hecht veel waarde aan het leveren van hoogwaardige

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Medior/senior Front-end developer (Vue.js)

Functie Als Front-end developer ben je uiteindelijk overkoepelend aan de slag voor de 3 ontwikkelteams die ieder aan een specifiek product werken. In samenwerking met de UX-designer en de huidige Front-end developer zorg je voor gebruiksvriendelijke software. Lijkt het jou interessant om complexe problemen op te lossen en feautures naar een hoger niveau te tillen? En vind je het niet erg om oudere delen van de applicaties te refactoren i.c.m. het toevoegen van nieuwe functionaliteiten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en zelfredzaamheid)

Bekijk vacature »

Fullstack developer (NodeJS, React, AWS)

Functie Als Fullstack developer kom je te werken in het ontwikkelteam, maar zoals gezegd komt er veel meer bij kijken dan alleen maar ontwikkelen. Je bent samen met je collega’s continu bezig om de software uit te breiden maar hiernaast doe je doorlopend onderzoek naar de inzet van bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Maar waar staan ze nu? Na een onderzoeksfase van ruim een jaar zijn

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Rotterdam! 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! Binnen deze rol houdt jij je met het volgende bezig: 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

Bekijk vacature »

Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Opleveren van mooie eindproducten, middels de Agile methodiek; Samenwerken in een team van 10 collega's; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven. De

Bekijk vacature »

Infrastructure Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12945 Introductie Our client is one of the most innovative companies within the Netherlands. Currently we are looking for an Infrastructure Platform Engineer. Within this role you will be developing the infrastructure. Functieomschrijving Within this role you are responsible in the development of our distributed data and compute platform infrastructure. You will design, develop and implement new features and fixes. Next to this you will integrate and configurate other packages that supports the development of tuning applications within the organisation. You will support customer sites remotely. Design and implement the

Bekijk vacature »

C# ontwikkelaar

Functie omschrijving Werk jij graag met C# en het .NET framework in een leuk familiebedrijf? Lees dan snel verder! Jouw takenpakket hierbij is: Je gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Je gaat werken in een Microsoft omgeving (ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Daarnaast optimaliseer je de bestaande software. Bedrijfsprofiel Deze organisatie is gevestigd in de omgeving van Best en is een echt familiebedrijf. Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met

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

27/07/2024 04:28:49
 
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.