Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

php preg_replace() - Segmentation fault

[es] :: PHP :: php preg_replace() - Segmentation fault

[ Pregleda: 3320 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

NetworkAdmin

Član broj: 4445
Poruke: 609
*.bbone.utic.net.ba.



Profil

icon php preg_replace() - Segmentation fault29.10.2004. u 13:15 - pre 237 meseci
Evo sad me raspizdi PHP.

Vrsim persiranje HTML dokumenata i na svakih 1000 do 2000 desi se preg_replace da izazove Segmentation fault

Mije mi jasno sta bi mogao biti uzrok jeli neko ima ideju. Nije problem da zbog nevalidnog HTML recimo skripta nista ne matchuje ali mi je problem sto prekine rad skripte.
 
Odgovor na temu

NetworkAdmin

Član broj: 4445
Poruke: 609
*.bbone.utic.net.ba.



Profil

icon Re: php preg_replace() - Segmentation fault29.10.2004. u 16:54 - pre 237 meseci
nasao sam da mi php puca na fajlovima koji imaju ogromne stringove jedan 20kb u nizu base64 encoded ali ne i wrapped kao value za hidden polje pa kad preg_replace krene da skida html tags ima problem jer prekoraci stek
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.83.beocity.net.

Sajt: localhost


+5 Profil

icon Re: php preg_replace() - Segmentation fault30.10.2004. u 15:29 - pre 237 meseci
daj regex koji koristiš, da ga ispravimo..

sigurno može da se napravi bar da bude safe (da ne puca), a verovatno i da radi kako treba.. ;)

btw, ako koristiš samo za skidanje html tagova, onda bolje koristi neku specijalizovanu c funkciju za to (striptags, tidy, etc..)

 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: php preg_replace() - Segmentation fault30.10.2004. u 16:10 - pre 237 meseci
Jesi li možda skoro prelazio na noviju verziju php-a? Probaj sa starijom a u međuvremenu daj regexp i neki primer pa da probamo da rešimo.
 
Odgovor na temu

Not now, John!

Član broj: 231
Poruke: 1318
*.dialup.blic.net.



+4 Profil

icon Re: php preg_replace() - Segmentation fault30.10.2004. u 19:42 - pre 237 meseci
Meni se isto to dešavalo, ali samo na Win platformi. Kombinacija je MySQL/PHP. Dešava se samo kada se regexp primjenjuje na dugačak tekst.
Koristim sljedeće:
Code:
  function make_URL($matches) {
    global $filename;
    if ($_GET['more']==1)
      $tmp="<a href=\"$filename?word=".urlencode($matches[1])."&more={$_GET['more']}\">{$matches[1]}</a>";
    else
      $tmp="<a href=\"$filename?word=".urlencode($matches[1])."\">{$matches[1]}</a>";
    return $tmp;
  }
  function BBdecode($text) {
    $text=str_replace("\n","<br>\n", $text);
    $text=preg_replace('/\[list=(a|1)\]((.|\n)*)\[\/list\]/U',"<ol type=\"\\1\">\\2</ol>",$text);
/* ne dozvoljava ugniježdene liste */
    $text=str_replace("[*]","<li>",$text);
    $text=str_replace("[b]","<span style=\"font-weight: bold\">",$text);
    $text=str_replace("[/b]","</span>",$text);
    $text=str_replace("[i]","<span style=\"font-style: italic\">",$text);
    $text=str_replace("[/i]","</span>",$text);
    $text=str_replace("[u]","<span style=\"text-decoration: underline\">",$text);
    $text=str_replace("[/u]","</span>",$text);
    $text=preg_replace('/\[color=(\#[0-9a-fA-F]{1,6})\]/',"<span style=\"color: \\1\">",$text);
    $text=str_replace('[/color]','</span>',$text);
    $text=preg_replace_callback("/\[see\](.*)\[\/see\]/U", "make_URL", $text);
    return $text;
  }

Nisam siguran da je do preg_replace_callback funkcije (dobijam samo Segmentation fault).
Iste funkcije na istom tekstu, na Linuxu ne prave ovu grešku. Na Win je PHP 4.3.2, a na Linuxu je PHP 4.3.6
"I'd take the awe of understanding over the awe of ignorance any day."
- Douglas Adams
 
Odgovor na temu

[es] :: PHP :: php preg_replace() - Segmentation fault

[ Pregleda: 3320 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.