: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... ;)
21 svar · 713 visningar · startad av nitro2k01
:)
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)
: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... ;)
Vore det inte en lämpligare lösning att se till att smilisen omvandlas även i början av skript istället.
Du får redigera in ett mellanslag, då funkar det. Det känns inte som om det är hela världen dock.
:) 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!
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?
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 )
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?
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
Har alltid(?) kört med fungerar utmärkt ;)
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.
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
§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
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.
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!
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)