[ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.10.08
Prihlásený: 18.11.15
Príspevky: 35
Témy: 10 | 10
NapísalOffline : 26.03.2011 19:23 | $1, $3, $4 nahradiť ([0-9]*)

Dobrý deň,
potrebujem prísť nato čo bude lepšie pre použitie nahradenia znakov $1, $2, $3, $4... za ([0-9]*)

Kód:
a = 'modules.php?name=Statistics&op=DailyStats&year=$1&month=$2&date=$3'
$match_count = substr_count(a, '$');
$match_count = $match_count + 1;
 for ($i = 1; $i < $match_count; $i++) {
 $a = str_replace('$'.$i, '([0-9]*)', $a);
}

má to len menší nedostatok a to že sem tam býva počítanie $ správne ale označenie číslom už nie, napr. modules.php?name=Statistics&op=DailyStats&year=$1&date=$3
a neviem ako to ošetriť

prípadne cez preg_replace ale vtom sa viem zaamotať dokonca som našiel niečo čo funguje pri htaccess ale to zase po dlhom skúšaní a menení aj tak nejde ako by som si prestavoval

a tu je niečo čo by sa možno dalo lepšie upraviť no neviem ako zatial

Kód:
function preg_replace_with_braces($Regexp,$Remplacement,$Texte)
    {
        preg_match_all($Regexp,$Texte,$Resultats,PREG_SET_ORDER);
       
        $SVGRemplacement=$Remplacement;
        foreach($Resultats as $Resultat)
        {//For each result
         
            $Remplacement=$SVGRemplacement;
            foreach($Resultat as $n=>$Match)
            {//For each set of capturing parenthesis
           
                if($n>0 && strpos($Match,'{')!==false)
                {//We find a open brace in our regexp : we'll need to find the closing one !
                    $InitialMatch=$Match;
                    $Offset=strpos($Texte,$Resultat[0]);
                    $Offset=strpos($Texte,$Match,$Offset);//We move the caret to the good place : let's start !
                    $Depart=$Offset;
                    $Taille=strlen($Texte);
                    $NestingLevel=0;
                    while($NestingLevel>=0 && $Offset<$Taille)
                    {//Browse the string, searching for braces. Perhaps the most important place !
                        $Offset++;
                        if($Texte[$Offset]=='{')
                            $NestingLevel++;
                        elseif($Texte[$Offset]=='}')
                            $NestingLevel--;
                    }
                    $Match=substr($Texte,$Depart,$Offset-$Depart);
                    $Resultat[0]=str_replace($InitialMatch,$Match,$Resultat[0]);
                }
                $Remplacement=str_replace('$' . $n,$Match,$Remplacement);
            }
            $Texte=str_replace($Resultat[0],$Remplacement,$Texte);
        }
        return $Texte;
    }


Offline

Správca fóra
Správca fóra
$1, $3, $4 nahradiť ([0-9]*)

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 26.03.2011 20:17 | $1, $3, $4 nahradiť ([0-9]*)

toto ti nevyhovuje?
Kód:
preg_replace("/\\$[0-9]+/", "([0-9]*)", $str);


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.10.08
Prihlásený: 18.11.15
Príspevky: 35
Témy: 10 | 10
Napísal autor témyOffline : 28.03.2011 14:14 | $1, $3, $4 nahradiť ([0-9]*)

tak to je paráda ďakujem a ešte by som chcel spýtať či na internete nieje nejaký dobrý návod na tieto regulérne výrazy lebo teraz potrubujem ešte $pa_z0_9_1 ale pritom tá posledná jedno sa mení až do neviem koľko... skúšal som

Kód:
preg_replace("/\\$[pa_z0_9_][0-9]+/", "([a-z0-9\-]*)", $vyraz);


a som s toho pravdu povediac už zase lama :D


Offline

Správca fóra
Správca fóra
$1, $3, $4 nahradiť ([0-9]*)

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 28.03.2011 14:44 | $1, $3, $4 nahradiť ([0-9]*)

http://www.regularnivyrazy.info


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.10.08
Prihlásený: 18.11.15
Príspevky: 35
Témy: 10 | 10
Napísal autor témyOffline : 28.03.2011 16:17 | $1, $3, $4 nahradiť ([0-9]*)

práve tam som bol aj som googlil a neostal som o moc múdrejší, kde robím chybu neviem asi kúpim nejakú príručku s príkladmi lebo fakt neviem ako
Kód:
preg_replace("/\\$[pa_z0_9_][0-9]+/", "([a-z0-9\-]*)", $vyraz);

toto nejde a neviem ani potom aka by to malo byť keď základ je $pa_z0_9_ a na konci bude rôzne číslo
výslední tvar môže byť $pa_z0_9_1, $pa_z0_9_5 atď, podla mna to bude rozkúskované natri časti a to $ potom pa_z0_9_ a nakoniec číslo ktoré sa mení


Offline

Užívateľ
Užívateľ
$1, $3, $4 nahradiť ([0-9]*)

Registrovaný: 05.09.09
Príspevky: 1157
Témy: 127 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 29.03.2011 17:18 | $1, $3, $4 nahradiť ([0-9]*)

http://interval.cz/clanky/regularni-vyr ... tecniky-i/


 [ Príspevkov: 6 ] 


$1, $3, $4 nahradiť ([0-9]*)



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Symbian 9.1 s grafickou nadstabou UIQ 3.0

v Ostatné operačné systémy

1

2626

20.01.2008 12:35

napandr

V tomto fóre nie sú ďalšie neprečítané témy.

Sony Ericsson W950i / M600i alebo Symbian 9.1 UIQ 3.0

v Mobilné zariadenia

3

1375

17.09.2007 19:25

Hoomerr

V tomto fóre nie sú ďalšie neprečítané témy.

hovoriaci FF 3.0.9 ??

v Sieťové a internetové programy

7

299

28.04.2009 21:54

prandof

V tomto fóre nie sú ďalšie neprečítané témy.

Windows Phone 8.1 / 9.0 Concept UI

v Novinky

9

287

25.07.2013 22:07

mirom

V tomto fóre nie sú ďalšie neprečítané témy.

P: HDD 3,5" externý 1,5TB USB 3.0

v Predám

2

279

05.01.2011 7:30

icosom

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

I/P: Corsair 4GB (2x 2GB) 1600MHz CL9 DDR3 RAM (9-9-9-24, 1.65V)

v Predám

5

250

07.02.2016 11:44

Jordy

V tomto fóre nie sú ďalšie neprečítané témy.

ORDER BY podla id IN (3, 5, 1, 10, 9)

v Databázy

8

194

31.12.2014 14:13

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

Gigabyte 945p-s3 rev.1.0 bios z rev. 3,3??

v Biosy a ladenie výkonu

3

463

24.04.2008 22:56

OmeGa

V tomto fóre nie sú ďalšie neprečítané témy.

Štýli na PHPBB 3.0.1.

v Redakčné systémy

4

723

31.01.2009 15:02

Vinchenzo

V tomto fóre nie sú ďalšie neprečítané témy.

Farby vo FireFoxe 3.0.1

v Sieťové a internetové programy

0

257

12.08.2008 11:52

cdman

V tomto fóre nie sú ďalšie neprečítané témy.

PCI-e 16x 1.0 1.1 2.0

v Ostatné grafické karty

27

2910

12.02.2010 20:18

P€PoX

V tomto fóre nie sú ďalšie neprečítané témy.

Mozilla Sunbird 0.3.1 RC2 už dostupný

v Novinky

1

207

14.02.2007 20:17

Intelman

V tomto fóre nie sú ďalšie neprečítané témy.

Firefox 3.0.1 a Adobe Flash Player

v Sieťové a internetové programy

1

309

23.07.2008 16:24

yaJohny

V tomto fóre nie sú ďalšie neprečítané témy.

Mozilla Firefox 3.0 Alpha 1 Gran Paradiso

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Novinky

30

1899

10.12.2006 12:29

stefo

V tomto fóre nie sú ďalšie neprečítané témy.

firefox 2.0.0.9 zerie vela pamate

v Sieťové a internetové programy

9

387

19.11.2007 19:39

Tomas1

V tomto fóre nie sú ďalšie neprečítané témy.

Problém - Hitachi Touro Mobile 1 TB USB 3.0

v Pevné disky a radiče

1

91

18.07.2015 10:04

shiro



© 2005 - 2017 PCforum, edited by JanoF