phpbar.de logo

Mailinglisten-Archive

[php] String parsen - wie am besten?

[php] String parsen - wie am besten?

Thomas Feyrer Dante_(at)_altmuehlnet.baynet.de
Tue, 23 Feb 1999 00:51:24 +0100


Matthias Pigulla <mp_(at)_webfactory.de> wrote:
> ich brauche ein wenig Hilfe... habe ich einen Text in einem String. Der
> Text soll auf einer HTML-Seite angezeigt werden. Damit die Seite nicht
> horizontal gescrollt werde muss, will ich sicherstellen, daß spätestens
> alle - sagen wir 60 - Zeichen ein Leerzeichen stehen muß; nur so können
> die Browser ja einen Umbruch einfügen.
> 
> Nun, das ganze findet auch noch auf einer recht gut besuchten Site statt
> ;-)
> 
> Was ich jetzt (als C-Fanatiker) gemacht hätte, wäre in etwa
>
> [...ich nix verstehendes C-Schnippsel...]
> 
> Mein Versuch, sowas auf PHP zu übertragen (mit einer for-Schleife, die
> der Reihe nach alle Zeichen des Textes über $p[$i] referenziert)
> scheiterte kläglich - die Performance brach total zusammen.
Mein Vorschlag wäre so ähnlich... (untested)
  for( $i=1; $i>=strlen( $p ); $i=$i+60 ) {
    echo( substr( $p, $i, 60 )."<br>\n" );
  }
er würde also jeweils 60 zeichen ausgeben und dann ein <br>\n ausgeben (<br>
für HTML...)
es kann aber auch sein das du ein $i=0 nehmen muss, ich weiß nicht, wie
substr das handled...

> Ich schließe daraus, daß es wohl etwas aufwendiger ist, einen Port des
> obigen Codes in PHP auszuführen als die pure C-Version.
> 
> Was ich also bräuchte wären Hinweise, wie man obiges Snippet performant
> und optimal in PHP schreiben würde.
> 
> Ist es für PHP intern einfacher, eine Regex das ganze machen zu lassen?
> Wie müßte die überhaupt aussehen? (-> Ich bekomme sie nicht hin.)
hmm...mal überlegen, vielleicht ein... (untested, too)
  $lines = split( "{60}", $p );
  for( $i=0; $i=sizeof( $lines ); $i++) {
    echo( $lines );
  }

Gruss,
  Domas
-- 
"I know you believe you understand what you think I said, but I am not sure
   you realize that what you heard is not what I meant" - Author unknown


php::bar PHP Wiki   -   Listenarchive