U tvorby stránek jsem narazila na zajímavý překladatelský oříšek. Jak z regularního výrazu vytvořit pole čísel, které bude obsahovat všechny varianty onoho výrazu. Po procházení jednotlivých možností jsem dospěla k docela zajímavému řešení.

Následující příklad, který třeba pomůže i vám, jsem zjednodušila na tvorbu pole čísel.

$cisla_reg = str_replace(array(\"[\",\"]\",\"X\",\"x\"),array(\"<\",\">\",\"9\",\"9\"),$nova_cisla);
$nova_cisla_reg = str_replace(array(\"X\",\"x\"),\".\",$nova_cisla);
$nova_cisla_last = ereg_replace(\"(<)([^>]*>)\",\"9\",$cisla_reg);
$nova_cisla_min = str_replace(\"9\",\"0\",$nova_cisla_last);
$nova_cisla_range = range($nova_cisla_min,$nova_cisla_last);
$cisla_list = preg_grep(\"/$nova_cisla_reg/\",$nova_cisla_range);

Vstupním výrazem je hodnota: $nova_cisla a výstupem je pole $cisla_list

Copyright © 1997 - 2024 vlasta nomenů. Tohle všechno je moje ;)