Hallo gebruikers!

Ik heb een klein probleem met mijn conversatie systeem. Het aanmaken en het overzicht van de conversaties zijn prima. Maar als ik de conversatie wil bekijken, wordt het bericht 'afgesneden'. Als het bericht aan 1 stuk door is getypt dan wordt (als de pagina is afgelopen) het bericht dus afgesneden. ik kan het niet echt beter uitleggen, dus ik heb voor jullie een account aangemaakt op mijn test site. https://www.beta.novarabank.eu Gebruikersnaam: gebruiker en het wachtwoord is: Test12345
Als je bent ingelogd kun je rechtsboven op je naam (gebruiker) drukken en vervolgens op conversaties. Als u dan een nieuwe coversatie aanmaakt kunt u bij titel en leden gewoon wat invullen. Bij bericht moet u langer dan 2 regels typen (zodat u kan zien dat het wordt afgesneden) vervolgens kunt u op bekijk deze conversatie drukken waar uw titel van de conversatie bijstaat. Dan ziet u dat het bericht wordt afgesneden. Zelf weet ik niet waar het probleem ligt. Ligt het aan de CSS? Aan mijn code?

           <div class="box-body no-padding">
			  <style>
			  </style>
			  <div id="test" class="mailbox-read-info">
			   <h3 style="font-weight: bold; margin-left: 10px !important;"><?= $data['title'] ?></h3>
			  <?php
				foreach ($berichten as $value)
				{
				?>
              <div class="mailbox-read-info">
			     
			    <h3 style="font-size: 11pt;">Geplaatst door <a href="/profiel/<?= $user->idToUsername($value['from_user']) ?>"><b><?= $user->idToUsername($value['from_user']) ?></b></a>
                  <span class="mailbox-read-time pull-right">Op <?= date("d-m-Y", $value['timestamp']) ?> om <?= date("H:i", $value['timestamp']) ?></span></h3>
		
			  </div>
              <div class="mailbox-read-message">
                <?= $value['message'] ?>
              </div><hr>
			  <?php
				}
			  ?>
              <!-- /.mailbox-read-message -->
            </div>
			<?php
			if ($data['closed'] == 0 || $user->isAdmin($_SESSION["habbonaam"]) === true)
	{
	?>
		<form style="margin-bottom: 10px; float: left; margin-top: 10px; margin-left: 10px; margin-right: 10px;" action="<?= $_SERVER["REQUEST_URI"] ?>" method="post">
			<textarea name="message" id="message" cols="80" rows="10" placeholder="Vul hier je bericht in."></textarea>
			<div class="t-a-right">
				<button style="margin-top: 5px;" type="submit" class="btn btn-primary btn-cons flex-bg message-submit">Reactie toevoegen</button>
			</div>
			<script>
				CKEDITOR.replace( 'message', {
					height: 150,
					contentsCss: [ 'https://cdn.ckeditor.com/4.6.1/full-all/contents.css', 'https://sdk.ckeditor.com/samples/assets/css/classic.css' ]
				} );
			</script>
		</form>
			  
			  	<form style="float: right; margin-top: 10px; margin-right: 25px; margin-bottom: 10px;" action="<?= $_SERVER["REQUEST_URI"] ?>" method="post">
					<input type="hidden" name="leave_conversation" id="leave_conversation" value="<?= $_SESSION['ID'] ?>" />
					<button type="submit" class="btn btn-primary btn-cons flex-bg message-submit">Ik wil deze conversatie verlaten</button>
				</form>
	<?php
	}
	else
	{
		?>
		<span>Deze conversatie is gesloten. Hierop reageren is niet mogelijk.</span>
		<?php
	}
	?>
            <!-- /.box-footer -->
          </div>

Alvast bedankt voor de reacties!
Maar die vervanging van spaties naar &nbsp; zou die niet in de editor zitten? Kijk eens of je die eventjes door een normale textarea kan vervangen. Dan weet je meteen of het daar aan ligt, en dat je ergens nog een instelling aan moet veranderen. En anders zit het toch in de PHP.
Mitch PHP op 07/01/2017 16:47:32

You're welcome :)

Nog even terugkomend op mijn vorige reactie.

Ja, de word-break property werkt wel maar woorden worden door midden gehakt. Dit leest natuurlijk niet heel lekker. Als je dit wil veranderen gebruik dan
word-wrap: break-word en haal de no breaking space's (&nbsp;) weg. Ik weet niet waar deze vandaan komen maar het beïnvloed wel wat de gebruiker ziet.

Voor een wat meer gevisualiseerde uitleg:


PS: na het schrijven van dit bericht realiseerde ik mij dat door de code spaties (&nbsp;) alles als 1 lang woord gezien wordt. Hierdoor werd alles afgesneden. Als je van de &nbsp; gewoon spaties maakt heb je de word-wrap en/of de break-word niet nodig.

Good luck :)



Het probleem is dat ik niet weet hoe dit moet. Moet ik dit ergens aanpassen bij ckeditor? Bij de php code??
Dat moet je zelf even uitzoeken met trial and error.
't ligt inderdaad aan de editor
Gezien editors alle output in HTML uitspugen, zou ik liever geen editor gebruiken voor je bezoekers. Hiermee is een hopo narigheid uit te halen, zoals XSS of het verminken van de layout van je site door anderen.
Je kan kijken of er een UBB-plugin is voor je editor, zodat je (hopelijk!) ongevaarlijke UBB-tags gebruikt op je site.
Je kunt de functie str_replace gebruiken om de &nbsp te vervangen met een spatie. Hiervoor moet je de input van de gebruiker in een variable zetten, bijvoorbeeld zo:

$tekstUitTekstvlak = "<p>Dit&nbsp;is&nbsp;een&nbsp;tekst&nbsp;met&nbsp;veel&nbsp;non&nbsp;breaking&nbsp;spaces</p>\n";
$tekstUitTekstvlak = str_replace('&nbsp;', ' ', $tekstUitTekstvlak);
echo $tekstUitTekstvlak; //echo de tekst zonder &nbsp;


Hopelijk help dit je iets verder op weg :)
Wel leuk, totdat iemand letterlijk zo'n code in een script heeft staan, om bijv. een script te tonen.
Ik denk dat je het probleem bij de bron moet aanpakken, en eens moet kijken in de instellingen van de editor.
Maar zoals ik zei vrees ik dat de editor voor een hoop narigheid kan zorgen met zelfs arbitraire code. Als ik jouw was zou ik me richten op een partij veilige UBB-codes.
Je mag geen code plaatsen.. Zoals ik al eerder in een topic had vermeld is dat dit voor Habbo Hotel is. Conversaties mogen alleen informatieve content bestaan. Dus geen codes.
Als je Googled op 'ckeditor replaces spaces with &nbsp' krijg je een aantal resultaten. Hier wordt ook verteld dat je iets in de instellingen van de editor kunt doen.

Welke manier je ook kiest, gebruik wat je zelf het fijnst vindt en wat het veiligst is.

Succes!

PS: Ik denk dat dit bericht weer uit het HTML/CSS forum kan ;)
Its working :D. Alleen nog 1 klein probleempje. Als er achter een woord een . staat dus bv. DITWOORD. en dit is aan het einde van de regel. Wordt de punt op een nieuwe regel gezet. Zie https://www.beta.novarabank.eu/conversaties/bekijk/31 als je bent ingelogd op gebruiker

[size=xsmall]Toevoeging op 07/01/2017 18:21:09:[/size]

dit is de config.js voor ckeditor hopelijk hebben jullie enig idee :D

CKEDITOR.editorConfig = function( config ) {
	config.language = 'nl';
	config.uiColor = '#E8E8E8';
	config.height = 150;
	config.toolbarCanCollapse = false;
	config.fillEmptyBlocks = false;
	config.tabSpaces = 0;
	config.toolbarGroups = [
		{ name: 'clipboard', groups: [ 'clipboard', 'undo' ] },
		{ name: 'editing', groups: [ 'find', 'selection', 'spellchecker', 'editing' ] },
		{ name: 'links', groups: [ 'links' ] },
		{ name: 'insert', groups: [ 'insert' ] },
		{ name: 'forms', groups: [ 'forms' ] },
		{ name: 'tools', groups: [ 'tools' ] },
		{ name: 'document', groups: [ 'mode', 'document', 'doctools' ] },
		{ name: 'others', groups: [ 'others' ] },
		'/',
		{ name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
		{ name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi', 'paragraph' ] },
		{ name: 'styles', groups: [ 'styles' ] },
		{ name: 'colors', groups: [ 'colors' ] },
		{ name: 'about', groups: [ 'about' ] }
	];

	config.removeButtons = 'Subscript,Superscript,Source,About';
};

Reageren