webForumDet fria alternativet

Smilies i början av inlägg funkar ej

Om webForum

21 svar · 713 visningar · startad av nitro2k01

Medlem sedan aug. 20039 340 inlägg
Frågan#1

:)

Denna smilie visas inte grafiskt eftersom mellanslag i början av poster tas bort. Mitt förslag är att pseudo koden ändras som följer:

 
newpost = trim(oldpost)

 till

newpost = " " + trim(oldpost)
Medlem sedan dec. 199917 055 inlägg
#2

:e
Nu är jag inte utvecklare, men medför inte den där funktionen att alla inlägg skulle få ett mellanslag först?

/red: För övrigt går det alldeles utmärkt om man bara vet hur man gör... ;)

Medlem sedan aug. 20002 975 inlägg
#3

Vore det inte en lämpligare lösning att se till att smilisen omvandlas även i början av skript istället.

Medlem sedan feb. 200112 078 inlägg
#4

Du får redigera in ett mellanslag, då funkar det. Det känns inte som om det är hela världen dock.

Medlem sedan aug. 20039 340 inlägg
#5

:) Test

OveRRidE skrev:

Du får redigera in ett mellanslag, då funkar det. Det känns inte som om det är hela världen dock.

Nja, wF tar autmatiskt bort mellanslag i början av någon anledning.
Edit: Och enligt testet ovan även radbrytningar.

Låt mig föreslå denna pseudokod då?

 
newpost = trim(oldpost)
if (newpost.substring(0,1) == ":")
  newpost = " " + newpost

Alltså lägga till ett mellanslag i början om posten börjar med kolon (Och därmed troligen en smilie.)
Eller ta bort den funktion som trimmar bort mellanslaget i början. Verkar ju helt onödigt!

Medlem sedan aug. 20039 340 inlägg
#6

Rikard skrev:

:e
Nu är jag inte utvecklare, men medför inte den där funktionen att alla inlägg skulle få ett mellanslag först?

/red: För övrigt går det alldeles utmärkt om man bara vet hur man gör... ;)

Så Rikard, hur gör man?

Medlem sedan aug. 20039 340 inlägg
#7

Rikard skrev:

:e
Nu är jag inte utvecklare, men medför inte den där funktionen att alla inlägg skulle få ett mellanslag först?

/red: För övrigt går det alldeles utmärkt om man bara vet hur man gör... ;)

Edit: Detta är en kopia av Rikards inlägg, och jag får det helt enkelt inte att funka!
Edit igen: Satt inom citat eftersom det nu funkar. (Blev själv lurad nån sekund att nån annan lyckats posta i mitt namn :D )

Medlem sedan dec. 199917 055 inlägg
#8

Man redigerar inlägget efter att det är postat. Ploppar dit ett inledande mellanslag och vips så funkar det. Precis som OveRRidE skrev. :)

För övrigt, i mina outbildade ögon ser det där misstänkt ASP-likt ut. Är det verkligen samma i PHP?

Medlem sedan juli 20013 378 inlägg
#9

Relax Rikkieboy - Vi utvecklare förstår (med pseudokod är det inte så noga med syntax - man hittar på lite som man vill men man gör det på ett så generellt sätt att alla utvecklare förstår) :moose

Medlem sedan feb. 20042 594 inlägg
#10

:birp

Funkar alldeles utmärkt. Citera mitt inlägg så får du se själv. :)

Medlem sedan jan. 20016 874 inlägg
#11

Har alltid(?) kört med   fungerar utmärkt ;)

Medlem sedan dec. 20025 871 inlägg
#12

Gör som Qimen:

[b][/b] :e

Medlem sedan mars 20025 907 inlägg
#13

nitro2k01 skrev:

:)

Denna smilie visas inte grafiskt eftersom mellanslag i början av poster tas bort. Mitt förslag är att pseudo koden ändras som följer:

 
newpost = trim(oldpost)

 till

newpost = " " + trim(oldpost)

Varför inte bara se till så att all replace-kod körs först och trimfunktionen körs sist? Låter smidigare tycker jag.

Medlem sedan juli 20013 378 inlägg
#14

Hmm...

Inget av era förslag fungerar rakt av i vBulletin eftersom smiliey-expansionen sker inne i den parser som hanterar bbcode/webForumkod-expansionen också!

Däremot gick det att fixa genom att lägga till fyra rader i parsern så att ett mellanslag läggs till om det behövs i början av en rad eller direkt efter en radbrytning...

Så nu läggs ett mellanslag till i början av texten om denna inleds med ett ";" eller ett ":" (dvs sannolikt någon av våra 25 smilieys)
Samma sak görs efter ett radbrytningstecken om detta omedelbart följs av ett ":" eller ett ";".

Ev. buggrapporter om denna ändring e-postas eller PM:as med fördel till undertecknad...

Enjoy!
Hälsar
/jarvklo

Medlem sedan aug. 20039 340 inlägg
#15

§e

Lägg även till tecknet §, eftersom två smilies börjar med detta tecken. F.ö. förstår jag inte varför inte preprocessorn (eller vad det nu kan vara) inte bara kan låta mellanslag och annat i början av en post vara?

Edit: Ojdå, det var ju redan fixat!
Edit: Flera radbrytningar

Medlem sedan okt. 20034 048 inlägg
#16

:birp

/red: Det funkade! :D

Medlem sedan feb. 200112 078 inlägg
#17

nitro skrev:

Nja, wF tar autmatiskt bort mellanslag i början av någon anledning.
Edit: Och enligt testet ovan även radbrytningar.

Jag upprepar, du får redigera in ett mellanslag för att det skall fungera. Det har alltid fungerat för mig.

Medlem sedan juni 20015 009 inlägg
#18

LeonL skrev:

Gör som Qimen:

[b][/b] :e

AAAAh jag är avslöjad :p :e

Medlem sedan aug. 20039 340 inlägg
#19

OveRRidE skrev:

nitro skrev:

Nja, wF tar autmatiskt bort mellanslag i början av någon anledning.
Edit: Och enligt testet ovan även radbrytningar.

Jag upprepar, du får redigera in ett mellanslag för att det skall fungera. Det har alltid fungerat för mig.

Ok, det funkade ju faktiskt. Men då ter det sig ännu mer konstigt att mellanslag osv tas bort när man postar. Tänkte att det kanske var nån slags säkerhetsfunktion, men då faller ju det eftersom det lätt går att gå runt.
En tanke som slog mig nu är att det kanske är till för att kolla säkert om ett inlägg är tomt.
Den berömda pseudo-koden igen ;)

 
if (trim(posttext).length==0)
  post_error()

:P <-- nitro2k01 med för mycket koffein i kroppen!

Medlem sedan maj 20021 466 inlägg
#20

Rad 86 i newreply.php och rad 64 i newthread.php:
$message=trim($message);

Ta bort den raden så är problemet löst!

(Koden kan ha ändrats sedan jag var utvecklare och radnumret kan därför vara ett annat)

262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)