![]() |
Har ett script som klipper ner text efter valt antal tecken....
Men det händer något skumt. Text som går in: Citat:
Citat:
Varför blir å istället �? (ser inte ut som här på forumet, det ser ut som en box, ni har säkert sett det) Texten som går in är verkligen å inte å så det är inte därför. Koden: Kod:
function neat_trim($str, $n, $delim='…') { |
Du använder nog utf-8 vilket är bra. PHP är däremot inte alltid lika klar i huvudet.
preg_match('/(.{' . $n . '}.*?)\b/u', $str, $matches); Notera u:et i raden ovan. Vet dock inte om \b hanteras korrekt av php vid andra bokstäver än [a-z]. |
Varför gör du inte en rtrim bara ?
|
Citat:
1. Det blir en himla massa tecken du måste ange att trimma bort, 2. rtrim är antagligen inte heller utf-8-medveten, 3. det går inte att trimma till ordgränser på något enkelt sätt Regexp är väl utmärkta för just den här typen av uppgifter (koden i exemplet skulle förstås kunna kortas ner till en rad om man så vill). |
eller utf8_decode()?
|
Citat:
??? Vill iofs inte decoda utf8, vill "klippa" strängar till bestämd längd. Citat:
Hittade också mer info så jag kan lära mig! http://www.regular-expressions.info |
Alla tider är GMT +2. Klockan är nu 16:16. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson