php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #53115 Crash defining array() $patterns[95]
Submitted: 2010-10-20 14:36 UTC Modified: 2010-10-22 05:32 UTC
From: info at brokerfinances dot com Assigned:
Status: Not a bug Package: Unknown/Other Function
PHP Version: 5.3.3 OS: Unix/Linux
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: info at brokerfinances dot com
New email:
PHP Version: OS:

Further comment on this bug is unnecessary.

 

 [2010-10-20 14:36 UTC] info at brokerfinances dot com
Description:
------------
I have a problem with init array var:

$patterns = array();
$patterns[0] = 'any';
....
$patterns[94] = 'any other';

when i have defined from 0 to 94 $patterns and $replacements components all work ok. But when add the 95 $patterns the php program crash (blank page is returned by the server)
You know this problem?

I have running the php like CGI scripts with Apache, I don't know exactly wath is the php version 

Test script:
---------------
<?php
function traduce($string)
  {
  $resultado_string = '';
   
  $patterns = array();

  $patterns[ 0] = '/Date:/';
  $patterns[ 1] = '/Time:/';
  $patterns[ 2] = '/Ticker:/';
  $patterns[ 3] = '/Last:/';
  $patterns[ 4] = '/Pivot:/';
  $patterns[ 5] = '/Title:/';
  $patterns[ 6] = '/Summary:/';
  $patterns[ 7] = '/Update on supports and resistances./';    
  $patterns[ 8] = '/Story:/';
  $patterns[ 9] = '/intraday/';
  $patterns[10] = '/continuation of the rebound/';
  $patterns[11] = '/Our preference:/';
  $patterns[12] = '/Alternative scenario:/';
  $patterns[13] = '/Long positions/';
  $patterns[14] = '/above/';
  $patterns[15] = '/Below/';
  $patterns[16] = '/below/';
  $patterns[17] = '/Above/';
  $patterns[18] = '/with/';
  $patterns[19] = '/targets/';
  $patterns[20] = '/ as /';
  $patterns[21] = '/in extension/';      
  $patterns[22] = '/look for further downside/';
  $patterns[23] = '/@/';
  $patterns[24] = '/ &amp; /';
  $patterns[25] = '/Key levels  Comment/';
  $patterns[26] = '/Comment: /';  
  $patterns[27] = '/the pair has rebounded/';
  $patterns[28] = '/on its support/';
  $patterns[29] = '/ and /';
  $patterns[30] = '/is challenging/';
  $patterns[31] = '/ its /';
  $patterns[32] = '/new resistance/';
  $patterns[33] = '/ last/';
  $patterns[34] = '/under pressure/';
  $patterns[35] = '/Short positions/';
  $patterns[36] = '/the RSI/';
  $patterns[37] = '/is /';
  $patterns[38] = '/badly directed/';
  $patterns[39] = '/look for further upside/';
  $patterns[40] = '/the upside prevails/';
  $patterns[41] = '/the downside prevails/';
  $patterns[42] = '/remains /';
  $patterns[43] = '/the pair has broken/';
  $patterns[44] = '/new support/';
  $patterns[45] = '/resistance/';
  $patterns[46] = '/soporteed by/';
  $patterns[47] = '/a bullish trend line/';
  $patterns[48] = '/a bearish trend line/';
  $patterns[49] = '/the bias /';
  $patterns[50] = '/mixed /';
  $patterns[51] = '/ bullish.</';
  $patterns[52] = '/ bearish.</';
  $patterns[53] = '/a bullish bias./';
  $patterns[54] = '/a bearish bias./';
  $patterns[55] = '/should face a further weakness/';
  $patterns[56] = '/on the upside./';
  $patterns[57] = '/on the downside./';
  $patterns[58] = '/Our Preference:/';
  $patterns[59] = '/SHORT positions/';
  $patterns[60] = '/The upside penetration of/';
  $patterns[61] = '/will call for a rebound towards/';
  $patterns[62] = '/Key levels/';
  $patterns[63] = '/pivot point/';
  $patterns[64] = '/ Intraday /';
  $patterns[65] = '/ Last</';
  $patterns[66] = '/ the pair /';
  $patterns[67] = '/ posting a rebound /';
  $patterns[68] = '/ but /';
  $patterns[69] = '/ conin a/';  
  $patterns[70] = '/ bearish channel/';  
  $patterns[71] = '/rebound.</'; 
  $patterns[72] = '/Trend: /';
  $patterns[73] = '/ST Ltd Upside;/';
  $patterns[74] = '/MT Range/';
  $patterns[75] = '/rebounding/';
  $patterns[76] = '/stands/';
  $patterns[77] = '/ bullish channel/';
  $patterns[78] = '/former support/';
  $patterns[79] = '/support/';
  $patterns[80] = '/lacks/';
  $patterns[81] = '/upward momentum/';
  $patterns[82] = '/downward momentum/';
  $patterns[83] = '/The upside breakout of/';
  $patterns[84] = '/The downside breakout of/';
  $patterns[85] = '/will open the way to/';
  $patterns[86] = '/Fib projection/';
  $patterns[87] = '/next/';
  $patterns[88] = '/should rebound on/';
  $patterns[89] = '/approaching/';
  $patterns[90] = '/calls for caution/';
  $patterns[91] = '/should face a weakness/';
  $patterns[92] = '/ST Ltd Downside;/';
  $patterns[93] = '/has broken/';
  $patterns[94] = '/rising trend line/';
// With the next line crash
//  $patterns[95] = '/hello/; 

  $replacements = array();
  
  $replacements[ 0] = 'Fecha:';
  $replacements[ 1] = 'Hora:';
  $replacements[ 2] = 'Divisa:';
  $replacements[ 3] = 'Último:';
  $replacements[ 4] = 'Pivote:';
  $replacements[ 5] = 'Título:';
  $replacements[ 6] = '&nbsp;';
  $replacements[ 7] = '&nbsp;';
  $replacements[ 8] = 'Análisis:';
  $replacements[ 9] = 'Antradía';
  $replacements[10] = 'Continuación del rebote';
  $replacements[11] = 'Nuestra recomendación:';
  $replacements[12] = 'Escenario alternativo:';
  $replacements[13] = 'Abrir posiciones largas';
  $replacements[14] = 'por encima de';
  $replacements[15] = 'Por debajo de';
  $replacements[16] = 'por debajo de';
  $replacements[17] = 'Por encima de';
  $replacements[18] = 'con';
  $replacements[19] = 'objetivos';
  $replacements[20] = ' como ';
  $replacements[21] = 'como máximo';
  $replacements[22] = 'esperamos una caida';
  $replacements[23] = ' a ';
  $replacements[24] = ' y ';
  $replacements[25] = 'Niveles importantes:<b>';
  $replacements[26] = 'Comentario: ';
  $replacements[27] = 'El par ha rebotado';
  $replacements[28] = 'sobre su soporte';
  $replacements[29] = ' y ';
  $replacements[30] = 'está buscando';
  $replacements[31] = ' su ';
  $replacements[32] = 'nueva resistencia';
  $replacements[33] = ' último';  
  $replacements[34] = 'bajo presión';
  $replacements[35] = 'Abrir posiciones cortas';
  $replacements[36] = 'el RSI';
  $replacements[37] = 'está ';
  $replacements[38] = 'forzado';
  $replacements[39] = 'esperamos una repunte';
  $replacements[40] = 'Permanece alcista';
  $replacements[41] = 'Permanece bajista';
  $replacements[42] = 'permanece ';
  $replacements[43] = 'El par ha roto';
  $replacements[44] = 'nuevo soporte';
  $replacements[45] = 'resistencia';
  $replacements[46] = 'soportado por';
  $replacements[47] = 'una línea de tendencia alcista';
  $replacements[48] = 'una línea de tendencia bajista';
  $replacements[49] = 'el canal ';
  $replacements[50] = 'mixto ';
  $replacements[51] = ' alcista.<';
  $replacements[52] = ' bajista.<';
  $replacements[53] = 'un canal alcista.';
  $replacements[54] = 'un canal bajista.';
  $replacements[55] = 'debería debilitarse';
  $replacements[56] = 'alcista.';
  $replacements[57] = 'bajista.';
  $replacements[58] = 'Nuestra recomandación:';
  $replacements[59] = 'Posiciones cortas';
  $replacements[60] = 'Una penetración alcista de'; 
  $replacements[61] = 'nos llevaría a un rebote hasta';
  $replacements[62] = 'Niveles importantes:<b>';
  $replacements[63] = 'pivote';
  $replacements[64] = '';
  $replacements[65] = ' Último<';
  $replacements[66] = ' el par ';
  $replacements[67] = ' realizando un rebote ';
  $replacements[68] = ' pero ';
  $replacements[69] = ' en un';
  $replacements[70] = ' canal bajista';
  $replacements[71] = 'rebote.<';
  $replacements[72] = 'Tendencia: ';
  $replacements[73] = 'Alcista a';
  $replacements[74] = 'Medio plazo';
  $replacements[75] = 'rebotando';
  $replacements[76] = 'se mantiene';
  $replacements[77] = 'canal alcista';
  $replacements[78] = 'soporte formado';
  $replacements[79] = 'soporte';
  $replacements[80] = 'carece';
  $replacements[81] = 'impulso alcista';
  $replacements[82] = 'impulsobajista';
  $replacements[83] = 'Si la subida rompe';
  $replacements[84] = 'Si la bajada rompe';
  $replacements[85] = 'abrirá el camino a';
  $replacements[86] = 'Poyección Fibo';
  $replacements[87] = 'siguientes';
  $replacements[88] = 'debería rebotar en';
  $replacements[89] = 'acercandose a';
  $replacements[90] = 'debemos tener precaución';
  $replacements[91] = 'debería debilitarse';
  $replacements[92] = 'Bajista a';
  $replacements[93] = 'a roto';
  $replacements[94] = 'línea de tendencia alcista';
// With the next line NO crash
  $replacements[95] = 'hola';
  

  $resultado_string = preg_replace($patterns, $replacements, $string);
  return $resultado_string;
  }
?>

Expected result:
----------------
Translate a string from a especific work in inglish to spanish

Actual result:
--------------
with $patterns[95] defined crash

Actually mi solution is, after call the function, call to other function with new 95 $patterns with the returned string by trhe first function.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2010-10-21 04:59 UTC] aharvey@php.net
-Status: Open +Status: Bogus
 [2010-10-21 04:59 UTC] aharvey@php.net
You're missing an ending single quote, and you obviously have error reporting turned off, hence the blank page.

Please follow this up with one of the support options at http://php.net/support if you need further help.
 [2010-10-21 15:57 UTC] anon at anon dot com
Lol, idiot.
 [2010-10-21 18:06 UTC] info at brokerfinances dot com
para el anterior: TU PUTA MADRE!!!!!!
 [2010-10-22 05:32 UTC] aharvey@php.net
-Block user comment: N +Block user comment: Y
 [2010-10-22 05:32 UTC] aharvey@php.net
No need for any of that, thank you.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue May 07 04:01:30 2024 UTC