Likes Likes:  0
Resultaten 1 tot 6 van de 6
Geen

Onderwerp: PHP wordwrap()

  1. #1
    Catharina
    PHP wordwrap()
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    PHP wordwrap()

    Ik wil graag een php scriptje laten draaien op een server waar PHP 4.0.0
    is geïnstalleerd. In mijn script komt de volgende functie voor:

    function divideWord($content,$maxWordLength = "30")
    {
    return wordwrap($content, $maxWordLength, " ", 1);
    }

    Dit geeft een fatal error undefined function wordwrap.
    Bij phpfreaks.com lees ik dat dat wel kan kloppen, want wordwrap is
    aanwezig in versies > dan 4.0, maar ik kan niet ontdekken wat ik nu zou
    kunnen wijzigen in bovenstaande functie zodat het wel werkt met versie
    4.0.0. Iemand die mij op weg kan helpen?


    CC
    --
    cathdesign.nl

    Wimjan in niwo: 'Even een korte uitleg voor eventueel aanwezige
    azijnpissers: ja, ik denk dat deze vraag relevant is in niwo'

  2. #2
    Daniel Tryba
    PHP wordwrap()
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP wordwrap()

    Catharina <news@xxcathdesign.nl> wrote:
    [wordwrap en php 4.0.0]
    > Dit geeft een fatal error undefined function wordwrap.
    > Bij phpfreaks.com lees ik dat dat wel kan kloppen, want wordwrap is
    > aanwezig in versies > dan 4.0, maar ik kan niet ontdekken wat ik nu zou
    > kunnen wijzigen in bovenstaande functie zodat het wel werkt met versie
    > 4.0.0. Iemand die mij op weg kan helpen?


    4.0.0 is oude zooi en daar zitten vast wel enkele security leaks in, por
    de beheerder eens om te upgraden

    Als dat niet werkt kan je natuurlijk zelf eenvoudig een recursieve
    functie schrijven die wordwrap() voor je emuleert. Maar om een lang
    verhaal kort te maken een voorbeelde je van een een MyWrap class (en nu
    maar hopen dat PHP 4.0.0 deze class snapt):

    <?php
    class MyWrap
    {
    /*
    *Simpele wordwrap class
    *
    *Deze class is vrij te gebruiken onder de beer license.
    *
    * Daniel Tryba
    */
    var $storage=array();
    var $str;
    var $width;
    var $break;
    var $cut;
    var $wrapped;

    function MyWrap($str,$width=75,$break="\n",$cut=false)
    {
    $this->str=$str;
    $this->width=$width;
    $this->break=$break;
    $this->cut=$cut;

    if(strlen($this->str)>$this->width)
    {
    $this->wrap();

    $this->wrapped=implode($this->break,$this->storage);
    }
    else
    {
    $this->wrapped=$this->str;
    }
    }

    function wrap()
    {
    if(!$this->cut)
    {
    //not implemented
    $this->storage[]=$this->str;
    }
    else
    {
    do
    {
    $this->storage[]=substr($this->str,0,$this->width);
    $this->str=substr($this->str,$this->width);
    }
    while(strlen($this->str)>$this->width);

    $this->storage[]=$this->str;
    }
    }
    }

    $tst="12345678901234567890123456789012345678901234 5678901234567890";

    echo "orig:\n$tst\n";
    echo "wordwrap:\n".wordwrap($tst,30,"\n",1)."\n";

    $wrap=new MyWrap($tst,30,"\n",1);
    echo "MyWrap:\n{$wrap->wrapped}\n";

    ?>

    Output:
    X-Powered-By: PHP/4.1.2
    Content-type: text/html

    orig:
    12345678901234567890123456789012345678901234567890 1234567890
    wordwrap:
    123456789012345678901234567890
    123456789012345678901234567890

    MyWrap:
    123456789012345678901234567890
    123456789012345678901234567890

    --

    Daniel Tryba


  3. #3
    Catharina
    PHP wordwrap()
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP wordwrap()

    Daniel Tryba schreef :

    > Catharina <news@xxcathdesign.nl> wrote:
    > [wordwrap en php 4.0.0]
    >
    > 4.0.0 is oude zooi en daar zitten vast wel enkele security leaks in, por
    > de beheerder eens om te upgraden


    Hoi Daniel,

    ik denk niet dat dit zin zal hebben, het gaat hier om een gratis provider
    die ik gebruik om een beetje te testen en wat aan te klooien ;-)
    >
    > Als dat niet werkt kan je natuurlijk zelf eenvoudig een recursieve
    > functie schrijven die wordwrap() voor je emuleert.


    Je? Ehh.. Ja, *jij* wel.. :'-|

    > Maar om een lang
    > verhaal kort te maken een voorbeelde je van een een MyWrap class (en nu
    > maar hopen dat PHP 4.0.0 deze class snapt):


    <knip code..>

    Dank je wel Daniel! :-)
    Ik ga het gelijk even uitproberen.

    CC
    --
    cathdesign.nl

    Mike in niwo: 'jammer dat die 'regulars' de meest eenvoudige vragen niet
    schijnen te snappen'

  4. #4
    Catharina
    PHP wordwrap()
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP wordwrap()

    Daniel Tryba schreef :

    > Catharina <news@xxcathdesign.nl> wrote:
    > [wordwrap en php 4.0.0]
    >
    > Als dat niet werkt kan je natuurlijk zelf eenvoudig een recursieve
    > functie schrijven die wordwrap() voor je emuleert. Maar om een lang
    > verhaal kort te maken een voorbeelde je van een een MyWrap class (en nu
    > maar hopen dat PHP 4.0.0 deze class snapt):


    Of ik doe iets blonds (wat niet uitgesloten is) of PHP 4.0.0 snapt het
    niet (mijn voorkeur gaat uit naar het eerste ;-)

    Nu krijg ik dit: Fatal error: Call to undefined function: mywrap()

    Wat ik heb gedaan is dit (bovenaan) toegevoegd:

    class MyWrap
    {
    /*
    *Simpele wordwrap class
    *
    *Deze class is vrij te gebruiken onder de beer license.
    *
    * Daniel Tryba
    */
    var $storage=array();
    var $str;
    var $width;
    var $break;
    var $cut;
    var $wrapped;

    function MyWrap($str,$width=75,$break="\n",$cut=false)
    {
    $this->str=$str;
    $this->width=$width;
    $this->break=$break;
    $this->cut=$cut;

    if(strlen($this->str)>$this->width)
    {
    $this->wrap();

    $this->wrapped=implode($this->break,$this->storage);
    }
    else
    {
    $this->wrapped=$this->str;
    }
    }

    function wrap()
    {
    if(!$this->cut)
    {
    //not implemented
    $this->storage[]=$this->str;
    }
    else
    {
    do
    {
    $this->storage[]=substr($this->str,0,$this->width);
    $this->str=substr($this->str,$this->width);
    }
    while(strlen($this->str)>$this->width);

    $this->storage[]=$this->str;
    }
    }
    }


    En vervolgens die bewuste functie op deze manier aangepast:

    function divideWord($content,$maxWordLength = "30")
    {
    return MyWrap($content, $maxWordLength, " ", 1);
    }

    Als iemand in e1n oogopslag ziet of ik iets en/of wat ik hier fout heb
    gedaan.. Ik ga in ieder geval nu eerst maar even slapen.

    CC
    --
    cathdesign.nl

    Rijk van Geijtenbeek in niwo: 'Overigens is het weghalen van scrollbars
    slechts zelden een nuttige bezigheid'

  5. #5
    Daniel Tryba
    PHP wordwrap()
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP wordwrap()

    Catharina <news@xxcathdesign.nl> wrote:
    > Of ik doe iets blonds (wat niet uitgesloten is) of PHP 4.0.0 snapt het
    > niet (mijn voorkeur gaat uit naar het eerste ;-)
    >
    > Nu krijg ik dit: Fatal error: Call to undefined function: mywrap()
    >
    > Wat ik heb gedaan is dit (bovenaan) toegevoegd:
    >
    > class MyWrap
    > {

    [knip]
    > }
    >
    >
    > En vervolgens die bewuste functie op deze manier aangepast:
    >
    > function divideWord($content,$maxWordLength = "30")
    > {
    > return MyWrap($content, $maxWordLength, " ", 1);
    > }


    > Als iemand in e1n oogopslag ziet of ik iets en/of wat ik hier fout heb
    > gedaan.. Ik ga in ieder geval nu eerst maar even slapen.


    Ik gok op blond, want een class werkt zo niet.

    MyWrap is een class definitie, je moet eerst een instantie van die
    classe creeren met bv:

    $wrap=new MyWrap($content,$maxWordLength, " ",1);

    De voorbeeld classe doet in de constructor (de functie MyWrap in de
    class) al het benodigde werk en slaat het resultaat op in de variabele
    wrapped in de class, die haal je eruit met $wrap->wrapped.

    Je divideWord function moet dan worden:

    function divideWord($content,$maxWordLength = "30")
    {
    $wrap=new MyWrap($content,$maxWordLength," ",1);
    return $wrap->wrapped;
    }

    --

    Daniel Tryba


  6. #6
    Catharina
    PHP wordwrap()
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP wordwrap()

    Daniel Tryba schreef :

    > Catharina <news@xxcathdesign.nl> wrote:
    > > Of ik doe iets blonds (wat niet uitgesloten is) of PHP 4.0.0 snapt het
    > > niet (mijn voorkeur gaat uit naar het eerste ;-)
    > >

    > [knipperdeknip CC's gepruts]
    >
    > Ik gok op blond, want een class werkt zo niet.
    > [..]
    > De voorbeeld classe doet in de constructor (de functie MyWrap in de
    > class) al het benodigde werk en slaat het resultaat op in de variabele
    > wrapped in de class, die haal je eruit met $wrap->wrapped.
    >
    > Je divideWord function moet dan worden:
    > [..]


    Dank je wel Daniel, nu werkt het!

    CC (blond & blij ;-)
    --
    cathdesign.nl

    Yippee in nip: 'Er zijn tijden geweest dat ik ruim over de 2 gig per dag
    ging. Maar sinds m'n 8753'e volle CD'R'etje doe ik 't wat rustiger aan.'

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics