Door
DavY -
op 24-07-2015 04:12
gewijzigd op 24-07-2015 07:50
1.804 views
Hoi allemaal,
Ik zit met een lastige opgave waar ik niet uitkomt. Ik weet zo ongeveer wel hoe ik het kan schrijven, maar de vraag is hoe ik het woord kleur geeft, zonder dat ik andere woorden die ook in een string voorkomt hetzelfde kleur te geven.
Bijv, dit zit in een string:
8,0Hoe0,8gaat7,8het8,7met4,7je?
x,x is dus een kleur.
Kleurcode moet dus vervangen worden en het woord meegeteld worden, bijv:
Hoe bouw je die teksten op?
Ik denk dat je via php span items zult moeten maken en die een class meegeven.
Eventueel kan die span ook aangepast worden via javascript/jquery
7,8 is oranje, maar de laatste cijfer (8 dus) mag genegeerd worden, want dat is achergrond en dat hoeft er niet bij, dus alleen eerste cijfer en ',x' mag weg. Zie voor kleurcodes: http://www.mirc.com/colors.html <-.
@Jan R
Ik haal berichten op uit de database. Dat wordt oopgeslagen door denora bot op de server.
Zoiets moet werken, er van uitgaande dat er WEL een spatie bij het woord zit.
Wat nou als je als bericht binnenkrijgt: "Ik ben nummer 1!".
Dan wordt dat iets als "7,3Ik3,2ben5,5nummer1,113,3!";
Euh... Ja, leuk zo'n 1...
Ik neem aan dat die spaties er WEL in zitten? Of anders dat de kleurnummers dus een <iets> zitten?
Bedankt dat je het wilt proberen. Er zit inderdaad ook gewoon spaties bij en het is eigenlijk \001, \008 enzovoort, maar denora plaats het helaas niet in database met UTF-8, waardoor ik dus een witte vierkantje krijgt in plaats van '\00' en het module zelf kan ik ook niet aanpassen daarop. Ik heb je script even geprobeerd en het lijkt niet te werken, ondanks dat je "'" vergeten was op het eind bij '</span>'. Had je dit zelf ook getest?
Voorzover ik het op mijn manier geprobeerd hebt, werkte het wel, echter, ik krijg dubbele van 1 bericht en dat zit hem volgens mij in foreach() en het probleem blijft dan hetzelfde van hoe ik het woord tussen <span></span> krijgt.
<?php
while ($row = $getChanInfo->fetch_assoc()) {
Er zit eigenlijk vierkant ervoor bij de kleur nummers, maar de editor van deze forum verwijderd hem, als ik mijn code plaatst.
[size=xsmall]Toevoeging op 25/07/2015 05:28:21:[/size]
Ik heb het probleem inmiddels opgelost door een functie te maken om kleuren te converteren en vervolgens nog een functie om bericht te splitsen en preg_replace_callback te gebruiken. Bedankt voor je moeite iig Eddy!
Graag gedaan.
Ik typte het ook maar uit de losse pols op een veel te klein scherm zonder testmogelijkheid.
Dat zou echt een aanwinst zijn voor PHPhulp: dat je de php-blokken kan uitvoeren (ipv alleen kopieren)