(4 uren geleden)Roepers schreef:Ik heb de code maar eens bestudeerd en wat uitgeprobeerd:(5 uren geleden)Hardloper schreef: Het lijkt heel simpel, stiekem is het toch iets complexer verwacht ik. Ik zie diverse uitdagingen.Al dat werk dat Hardloper uitgebreid beschrijft, is al gedaan en in de vorm van extensies of plug-ins, al dan niet tegen betaling, beschikbaar gesteld. Mijn indruk was dat mensen dit toch wel misten. Ik ben verbaasd hier niets meer van over is. Mooi zo.
Groet,
Marco
![[Afbeelding: image.png]](https://i.ibb.co/VpCkzp06/image.png)
![[Afbeelding: image.png]](https://i.ibb.co/f7mJk0m/image.png)
PHP-code:
<?php
$maxlength = 100;
$msgParts = explode(' ', "@@Hardloper zou je de code eens kunnen testen. Want ik denk dat @admin niet voldoende heeft getest");
for($i = 0; isset($msgParts[$i]); ++$i) {
if(substr($msgParts[$i], 0, 1) == '@') {
for($j = 1; ($i + $j - 1) < sizeof($msgParts); $j++) {
$size = 0;
$message = $msgParts[$i];
//get the current size and message
for($k = 0; ($k + $i) < sizeof($msgParts) && $k < $j; $k++) {
$size += strlen($msgParts[$i + $k]);
if($k > 0) {
$message .= ' ' . $msgParts[$i + $k];
}
}
//if we are over max name length + 1(allow for @ and for punctuation at end
if(($size + 2) > $maxlength) {
break;
}
$search = substr($message, 1);
// $search = $db->escape_string($search);
if(preg_match('/\W/', substr($message, -1))) //if the last character is non-word ie punctuation of some sort
{
$search2 = substr($message, 1, (strlen($message) - 2)); //get between @ and last char
// $search2 = $db->escape_string($search2);
} else {
$search2 = "";
}
}
print $search2;
}
}
Wanneer ik mijn zin zonder . laat eindigen. Dan lijkt het erop dat hij niet werkt.
ook stel ik mijn vraag tekens bij deze lege functies. Wat naar mijn idee erop wijst dat het nog niet af is.
PHP-code:
function user_tagging_activate() {
}
function user_tagging_deactivate() {
}
Update:
PHP-code:
$maxlength = 100;
$msgParts = explode(' ', "@@Hardloper zou je de code eens kunnen testen. Want ik denk dat @admin & @admin@hans niet voldoende heeft getest.");
for($i = 0; isset($msgParts[$i]); ++$i) {
if(substr($msgParts[$i], 0, 1) == '@') {
print $msgParts[$i]." ";
}
Valt toch nog mee. Lijkt toch nog wel te werken het selecteren van gebruikers. Want hieruit komt: @@Hardloper @admin @admin@hans
Geduld en respect voor de medemens is een schone zaak.