From:
Operating system: Unix/Linux
PHP version: 5.3.3
Package: Unknown/Other Function
Bug Type: Bug
Bug description:Crash defining array() $patterns[95]
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] = '/ & /';
$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] = ' ';
$replacements[ 7] = ' ';
$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.
--
Edit bug report at http://bugs.php.net/bug.php?id=53115&edit=1
--
Try a snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=53115&r=trysnapshot52
Try a snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=53115&r=trysnapshot53
Try a snapshot (trunk):
http://bugs.php.net/fix.php?id=53115&r=trysnapshottrunk
Fixed in SVN:
http://bugs.php.net/fix.php?id=53115&r=fixed
Fixed in SVN and need be documented:
http://bugs.php.net/fix.php?id=53115&r=needdocs
Fixed in release:
http://bugs.php.net/fix.php?id=53115&r=alreadyfixed
Need backtrace:
http://bugs.php.net/fix.php?id=53115&r=needtrace
Need Reproduce Script:
http://bugs.php.net/fix.php?id=53115&r=needscript
Try newer version:
http://bugs.php.net/fix.php?id=53115&r=oldversion
Not developer issue:
http://bugs.php.net/fix.php?id=53115&r=support
Expected behavior:
http://bugs.php.net/fix.php?id=53115&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=53115&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=53115&r=submittedtwice
register_globals:
http://bugs.php.net/fix.php?id=53115&r=globals
PHP 4 support discontinued: http://bugs.php.net/fix.php?id=53115&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=53115&r=dst
IIS Stability:
http://bugs.php.net/fix.php?id=53115&r=isapi
Install GNU Sed:
http://bugs.php.net/fix.php?id=53115&r=gnused
Floating point limitations:
http://bugs.php.net/fix.php?id=53115&r=float
No Zend Extensions:
http://bugs.php.net/fix.php?id=53115&r=nozend
MySQL Configuration Error:
http://bugs.php.net/fix.php?id=53115&r=mysqlcfg