Spatie aan te lange tekst bij invoer database toevoegen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yoop Overmaat

Yoop Overmaat

29/06/2019 17:28:44
Quote Anchor link
Hallo lezers,

Het probleem is het volgende; bij een 40-tal leestekens achtereen verschijnt er horizontaal een
schuifbalk onder chat uitvoer wat er niet uitziet.

Heb wel een idee hoe of dit euvel te verhelpen is, voeg na een tig aantal leestekens een spatie
toe via php voordat je het geheel in een database toevoegt.

Dit is het verhaal zoals het er nu uitziet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$msge
= mysqli_real_escape_string($link, $_POST['msge']); //Dit gedeelte gaat het om.

?>


Ik heb het wel geweten maar ben even kwijt hoe het geheel ook alweer in elkaar stak. Was iets een
met een strlen? Is al weer een tijdje geleden
 
PHP hulp

PHP hulp

24/11/2024 07:59:06
 
- Ariën  -
Beheerder

- Ariën -

29/06/2019 18:01:34
Quote Anchor link
Een overflow in CSS lijkt mij beter dan je database met onzinnige tekens te vervuilen. Ook kan je in CSS een wordbreak doen.
Gewijzigd op 29/06/2019 18:02:25 door - Ariën -
 
Rob Doemaarwat

Rob Doemaarwat

29/06/2019 18:02:42
Quote Anchor link
Kun je op het "chat scherm" niet gewoon word-break: break-word (style attribuut, of via CSS) zetten? Hoef je ook niet met je tekst te klooien (sowieso nooit aan je bron prutsen, altijd de presentatie in orde maken).

Maar mocht je toch zelf op 40 karakters willen afbreken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
print(preg_replace('/\\S{40}(?=\\S)/',"\$0-\n",$str));

(elke 40 niet-white-space karakters die gevolg wordt door ten minste nog een niet-white-space karakter vervangen door diezelfde 40 karakters en dan een "-" en een regeleinde; gaat ook goed voor meer dan 80 karakters = 2x afbreken, enz)
Gewijzigd op 29/06/2019 19:25:43 door Rob Doemaarwat
 
Yoop Overmaat

Yoop Overmaat

29/06/2019 20:24:04
Quote Anchor link
Hallo lezers,

Heb op jullie aanraden toch de chatuitgang maar aangepast via een css break-word.
Heb net ook de de aangedragen php oplossing even geprobeerd maar dat is het net
niet.

Ben meer van het;"Hou het simpel dan kan er verder weinig mis gaan verhaal", met
daaronder de Unix-filosofie, bouw kleine gedeelten aan scripts die doen wat ze
moeten doen meer niet anders wordt het geheid een onoverzichtelijke puinhoop.....

Met css had ik wat problemen omdat ook een p aanwezig is wegens de gemene delers.
Was simpel op te lossen, heb zoiets van gemaakt. Dit is huidige verhaal geworden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
p {
font-size: 18px;
color: white;
text-align: center;
}
p.cha {          
text-align: left;
margin-left: 4px;
font-size: 16px;
color: white;
word-break: break-all;
}


Het php verhaal is op deze wijze aangepast:

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
<?php
$link
= mysqli_connect("Cafe_met_airco","koud","potje","bier");
if(!$link) {
echo "oeps:\n" . mysqli_connect_errror();
}

$sql = "SELECT nina, msge FROM de_tapkast ORDER BY id DESC LIMIT 0,20";
$result = mysqli_query($link, $sql);
if(mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo '<p class="cha">' . $row['nina'] . ":&nbsp;" . $row['msge'] . '</p>';
 }
}
else {
echo "<p>Welkom @ deez prutsbak</p>";
}

mysqli_free_result($result);
mysqli_close($link);
?>


Bedankt voor de uitleg!

Ga nu eerst de site ombouwen en voorbereiden op de toevoeging van node.js zodat het
zo genaamde client-server-client verhaal mogelijk wordt...
 



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.