Ich habe ein Story-Textfeld und möchte die ersten paar Zeilen - sagen wir die ersten 50 Wörter dieses Feldes - auf einer Snapshot-Seite anzeigen. Wie kann ich das in Ruby (on Rails) machen?Möchten Sie die ersten 50 oder 60 Wörter eines Textfelds in Ruby anzeigen?
3
A
Antwort
4
Meistens sind die gleichen wie Aaron Hinni's answer, sondern werden versuchen, und 3 volle Sätze halten (dann auf 50 Worte gestutzt, damit die Sätze zu lang waren)
def truncate(text, max_sentences = 3, max_words = 50)
# Take first 3 setences (blah. blah. blah)
three_sentences = text.split('. ').slice(0, max_sentences).join('. ')
# Take first 50 words of the above
shortened = three_sentences.split(' ').slice(0, max_words).join(' ')
return shortened # bah, explicit return is evil
end
Auch wenn dieser Text jeder hat HTML, meine Antwort auf "Truncate Markdown?" könnte nützlich sein
6
Angenommen, Ihre Wörter sind durch ein Leerzeichen begrenzt, können Sie so etwas tun.
stories.split(' ').slice(0,50).join(' ')
0
Im Gebrauch etwas sehr ähnlich in einer Rails-Anwendung zu erweitern ("Affe-Patch") die Basis-String-Klasse.
habe ich lib/core_extensions.rb
, die enthält:
class String
def to_blurb(word_count = 30)
self.split(" ").slice(0, word_count).join(" ")
end
end
ich dann config/initializers/load_extensions.rb
geschaffen, die enthält:
require 'core_extensions'
Jetzt habe ich die to_blurb()
Methode auf allen meinen String-Objekte in der Rails-Anwendung.
Verwandte Themen
- 1. Was möchten Sie in Ruby verbessern?
- 2. Versuchen, die ersten 2 Wörter eines Word-Dokuments in C#
- 3. Sie möchten nur Spalten mit Werten anzeigen
- 4. Legen Sie die Auffüllung eines Textfelds mit Swift in xcode
- 5. Geben Sie die Abmessungen eines Tkinter-Textfelds in Pixeln an
- 6. zeigt die ersten 4 Wörter einer Phrase in html
- 7. Bestimmen eines leeren oder ganzzahligen oder dezimalen Textfelds
- 8. Möchten Sie die letzte Spalte in Flexigrid
- 9. 50-60 GB Daten im Funke Standalone-Modus
- 10. Schienen zeigen nur die ersten 50 Zeichen in Feld Ansicht
- 11. Was ist die praktische Grenze eines Textfelds?
- 12. undef - Warum möchten Sie eine Methode in Ruby undefinieren?
- 13. jQuery: die Breite eines Textfelds festlegen?
- 14. Fokussieren eines Textfelds in swift
- 15. Hervorhebung eines Textfelds
- 16. Möchten Daten in Tabellenform in JSP anzeigen
- 17. Validierung eines Textfelds wpf
- 18. Text innerhalb eines Textfelds hervorheben
- 19. Wie erhöhen Sie die Höhe eines HTML-Textfelds
- 20. Versuchen, den Inhalt eines Textfelds in einer dynamischen Tabelle NUR anzeigen, nachdem die Eingabetaste gedrückt wurde
- 21. Wie wird die Hervorhebung eines Textfelds in Chrome/Safari entfernt?
- 22. POI fügt Zellenhintergrund nur für die ersten 50 Zeilen hinzu
- 23. Ruby Entferne den ersten Index eines Arrays
- 24. Den Wert eines Textfelds erhalten
- 25. Lesen von Text eines Textfelds
- 26. Löschen eines Textfelds mit Javascript
- 27. Angemessenheit eines Django-Textfelds in einem Modell
- 28. Bind Breite eines Textfelds in VisualBrush
- 29. Deaktivieren der Bearbeitung eines Textfelds
- 30. Wörter einschließlich gegebenen String in Ruby
Ich gebe +1 dafür, gute Idee ;-) –