FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Nykomling
|
Hej.
Säg att jag har en text i databasen som ser ut på detta vis: -------------------------------------------------------------- Jag heter Jeppe och jag kan äta en apelsin på fem sekunder. Jag kan även dricka fem liter mjölk på mindre än en halv sekund. Vad kan du göra? -------------------------------------------------------------- Det jag vill göra är att när jag skriver ut texten på min sida så ska den med hjälp av regexp numrera raderna, ungefär såhär: -------------------------------------------------------------- 1. Jag heter Jeppe och jag kan äta en apelsin på 2. fem sekunder. Jag kan även dricka fem liter mjölk 3. på mindre än en halv sekund. Vad kan du göra? -------------------------------------------------------------- Jag har testat mig fram på några vägar, men det gick inte så bra. Skulle ni kunna hjälpa med det problemet? Tack på förhand. |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Mycket flitig postare
|
En loop kanske?
Loopa igenom databasen och ändra ^ till värde X. |
|||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Mycket flitig postare
|
Vad har du för kriterier för radindelningen?
Ska varje rad var tio ord lång, ett visst antal bokstäver eller en viss optisk längd med ett bestämt typsnitt? Du får nog precisera lite mer. |
|||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Har WN som tidsfördriv
|
....eller har varje rad en radbrytning (/n)?
|
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Nykomling
|
Jag har testat med följande kod, men mina RegExp kunskaper är tydligen inte tillräckliga. Jag har testat med att bryta ut \r \n och \s
Kod:
strText = "texten här som ska bearbetas" With New RegExp IgnoreCase = TRUE .Global = TRUE .Pattern = "(\n|\r|)" Set objMatches = .Execute(strText) strResult = "" lngPos = 1 For Each objMatch In objMatches If objMatch.FirstIndex > lngPos Then strResult = strResult & Mid(strText, lngPos, objMatch.FirstIndex - lngPos + 1) inti = inti + 1 End If strFound = inti & objMatch & "<br />" strResult = strResult & strFound lngPos = objMatch.FirstIndex + objMatch.Length + 1 Next strNewText = strResult & Mid(strResult, lngPos) End With @martine #1. Den ska reagera på radbrytning, vbcrlf, då skapar den en ny rad #2. Den ska reagera på ifall en rad är längre än t.ex. 800 tecken, då gör den en ny rad. |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Bara ett inlägg till!
|
Ptja, jag kan då inte ASP men med PHP så kan du alltid använda explode() på "\n" och sedan foreach'a det.
|
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Nykomling
|
eliasson, kan du vara snäll och visa ett kodexempel?
|
||
![]() |
![]() |
![]() |
#8 | |||
|
||||
Mycket flitig postare
|
Kod:
$text = explode("\n", $filinnehall); for($i = 0; $i < count($text); $i++){ echo "$i. Här gör vi nått med $text[$i]\n"; } |
|||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Nykomling
|
Tack, jag kan ingen PHP, men jag får nog googla lite efter hjälp för att kunna "översätta" koden, det om ingen här kan hjälpa mig med det förståss.
Tack för hjälpen. |
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Supermoderator
|
Den funktion i ASP som motsvarar PHP:s Explode heter Split.
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
Svara |
Ämnesverktyg | |
Visningsalternativ | |
|
|