2011-01-02 5 views
0

ich jetzt in bin verzweifelt, weil ich alles habe ich versucht, und immer noch finden kann nicht Ergebnisse, die ich sehr schnell brauchen, weil ich promissed Freund Webseite zu korrigieren.

hier ist das Problem:

i über $ _POST ein Zeichen Zeichenfolge erhalten, und es muss sein:

  1. von beliebigen HTML-Tags gereinigt (i es durch strip_tags tun: funktioniert gut)
  2. dann muss es genau 1000 Zeichen lang sein und hier beginnt mein Schmerz: Es muss mit Multi-Byte-Zeichen wie polnischen Zeichen funktionieren.

jetzt habe ich versucht, den Text zu schneiden:

  • mb_substr ($ this, 0,1000, 'UTF-8')
  • mb_substr (das $, 0,1000)

und

  • substr ($ this, 0,10000)

und ich bekomme immer zu falschen Ergebnissen: die letzte Saite ist immer kürzer als 1000 Zeichen, und ich weiß nicht, warum. Kannst du mir dabei helfen?

Vielleicht wird dies sehr nützlich sein:

Der Text i in das Formular einzufügen ist:

Ciekawy, nieco sportowy wygląd, nisko zamontowana kanapa, dobre hamulce, niezłe podwozie, znakomita zwrotność, dynamiczny silnik – oto cechy którymi GS500E zdobywał rynek i pokonywał rywali w testach porównawczych. W 1992 r. postawiono go nawet do konfrontacji z większą Yamahą XJ600S Diversion i nowocześniejszym Kawasaki GPZ500S. Co prawda przegrał, ale też nie było szans, by walczył jak równy z równym. Ważniejsze były oceny, które wystawili mu dziennikarze z prasy fachowej. Zaskoczeniem było przede wszystkim to, że tak tani motocykl może prezentować tak wysoki poziom w zakresie mocy i charakterystyki silnika. Chwalono również hamulce i podwozie. W drugiej połowie lat dziewięćdziesiątych GS500E zaczął wyraźnie przegrywać w testach porównawczych. Nie mógł już dotrzymać kroku zupełnie nowym konstrukcjom pokroju Hondy CB500 czy Kawasaki ER-5. Nadal cieszy się jednak zainteresowaniem nabywców a jako motocykl o bardzo uniwersalnym charakterze trafia zarówno w ręce początkujących jaki i doświadczonych motocyklistów. 

dann wnt ich es höchstens 1000 Zeichen zu schneiden:

$ok_to_go_to_database = mb_substr(strip_tags($long_text) ,0,1000); 

und in dieser Fall gibt es mir wieder 931 Zeichen:/

+0

Nun, die ankommende Zeichenfolge * mehr * als 1000 Zeichen? –

+0

hallo Pekka, es ist immer kürzer: Ich weiß nicht, was als diese zusätzlichen Zeichen zählt in: /, wenn ich einen 1613 Zeichen Text in das Formular kopieren und einfügen, mb_strlen zeigt diese Länge: 1733 und wenn ich es geschnitten mit mb_substr ($ this, 0,1000) alles, was ich bekomme, ist nur die ersten 929 Zeichen - ich bin verwirrt – greg

+0

Was sagen die Header der ankommende Zeichensatz ist? –

Antwort

2
>>> len(u'Ciekawy, nieco sportowy wygląd, nisko zamontowana kanapa, dobre hamulce, niezłe podwozie, znakomita zwrotność, dynamiczny silnik – oto cechy którymi GS500E zdobywał rynek i pokonywał rywali w testach porównawczych. W 1992 r. postawiono go nawet do konfrontacji z większą Yamahą XJ600S Diversion i nowocześniejszym Kawasaki GPZ500S. Co prawda przegrał, ale też nie było szans, by walczył jak równy z równym. Ważniejsze były oceny, które wystawili mu dziennikarze z prasy fachowej. Zaskoczeniem było przede wszystkim to, że tak tani motocykl może prezentować tak wysoki poziom w zakresie mocy i charakterystyki silnika. Chwalono również hamulce i podwozie. W drugiej połowie lat dziewięćdziesiątych GS500E zaczął wyraźnie przegrywać w testach porównawczych. Nie mógł już dotrzymać kroku zupełnie nowym konstrukcjom pokroju Hondy CB500 czy Kawasaki ER-5. Nadal cieszy się jednak zainteresowaniem nabywców a jako motocykl o bardzo uniwersalnym charakterze trafia zarówno w ręce początkujących jaki i doświadczonych motocyklistów.'.encode('cp1250').decode('utf-8', 'ignore')) 
929 

Und die CRLF macht 931.

Check your HTTP headers. Make sure that you are really receiving data in UTF-8 and not CP1250.

+0

DANKE Freunde! Habe jetzt neue Dinge zum Nachdenken. Ja - die Längen sind in der Tat richtig, werden daran arbeiten, haben ein bestes Jahr, viele $, Mädchen und Gras :) – greg