nekur.lv fīdparsēšana
- 2008. gada 29. janvārī, plkst. 10:10
- 8 komentāri

Kamēr fīdburneristi skatās no savas puses, kur ir (varētu būt) problēma, šķiet, ka būs jārīkojas kardināli un jāprovē uzķert brīdis, kad tas notiek.
if (substr_count($item['title'] . $item['content'] . $item['description'], '??') >= 4) { $LOG->warning(' Ignored. Probably invalid UTF8'); $badfile = dirname(__FILE__) . '/data/bad/' . basename($file); mail($config->get('developers list'), '[feedparser] Problems with encoding in ' . $file, 'Copied to ' . $badfile); if (copy($file, $badfile) === false) { $LOG->warning(' Damned. Could not copy ' . $file . ' to ' . $badfile); } continue; }
Šie ir tie 8 komentāri (pievienot savu)
Interesanta UTF8 pārbaude. :)
Jep, kapēc substr_count vietaa neizmantot mb_detect_encoding ? – slinkums pielikt mb_string extensiju?
Parokoties pa php.net forumu, atrodas smuka alternatīva
function detectUTF8($string)
{
return preg_match(‘%(?:
[\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
|\xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
|\xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
|\xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
|[\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
|\xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)+%xs’, $string);
}
MC_, tāpēc, ka man ir jāizķer gļukainie transkodingi. TB – kad xml parseris netiek galā ar utf-8 dažādu iemeslu dēļ un pārtaisa tos par “????”. Kas arī ir jautājuma zīmes.
A ja nu tiks parsēts kāds pokemonu blogs? Tur jautājuma zīmes būs sastopamas krieeetni biežāk :>
fest: šis ir īslaicīgs risinājums.
Es jau neko, bet esmu šo novērojis arī laacz.lv. Tā kā esmu diezgan drošs, ka problēma irfeedburner pusē. ;) Pie tam – kad tas notiek, tas notiek uzreiz visiem topikiem, ne tikai vienam.
Hm, nu tā īsti nopietni neesmu ķēpājies ar PHP, bet tas ir saistībā ar manis iepriekš jautāto, kādēļ @nekur.lv parādās visi tie rakstu duplikāti, kas regoti uz FīdBurnera? :)
Cik sapratu, tad to fīdu fīdburneris iedod gļukainu, bet pēc kāda laiciņa tas gļuks pazūd? Ja?
Ja tā ir, tad kāpēc nevarētu nekur.lv engīnei pateikt, lai nesmuko fīdu neizliek tautās, bet pārbauda vēlreiz pēc 5 minūtēm?