| FAQ |
| Kalender |
|
|
#1 | ||
|
|||
|
Flitig postare
|
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='…') {
$len = strlen($str);
$str = strip_tags($str);
if ($len > $n) {
preg_match('/(.{' . $n . '}.*?)\b/', $str, $matches);
return rtrim($matches[1]) . $delim;
}
else {
return $str;
}
}
|
||
|
|
Svara med citat
|
|
|
#2 | |||
|
||||
|
Mycket flitig postare
|
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]. |
|||
|
|
Svara med citat
|
|
|
#3 | ||
|
|||
|
Har WN som tidsfördriv
|
Varför gör du inte en rtrim bara ?
|
||
|
|
Svara med citat
|
|
|
#4 | |||
|
||||
|
Mycket flitig postare
|
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). |
|||
|
|
Svara med citat
|
|
|
#5 | |||
|
||||
|
Supermoderator
|
eller utf8_decode()?
|
|||
|
|
Svara med citat
|
|
|
#6 | ||
|
|||
|
Flitig postare
|
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 |
||
|
|
Svara med citat
|
| Svara |
|
|