[ 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: 3948
Témy: 51 | 51
Bydlisko: Bratislava
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);


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
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: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 28.03.2011 14:44 | $1, $3, $4 nahradiť ([0-9]*)

http://www.regularnivyrazy.info


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
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: 1141
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

2866

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

1630

17.09.2007 19:25

Hoomerr

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

corsair k95 rgb platinum a problem s usb 3.0 klucom ak je pripojena cez usb 3.0/1 porty

v Externé zariadenia

7

820

18.11.2019 20:31

KocuR

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

I/K: Mobil s USB-C 3.0 (3.1 , 3.2) do 150€

v Kúpim

0

541

21.08.2022 18:15

ramaya

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

hovoriaci FF 3.0.9 ??

v Sieťové a internetové programy

7

578

28.04.2009 21:54

prandof

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

SSD disk beží na PCIe 1.0 namiesto 3.0

v SSD disky

8

607

29.12.2022 8:57

shiro

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

Windows Phone 8.1 / 9.0 Concept UI

v Novinky

9

614

25.07.2013 22:07

mirom

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

Kupim redukciu usb 3.0 na 3.1

v Kúpim

0

484

02.12.2018 17:50

Duso11x

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

851

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

663

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

496

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

937

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

1052

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

451

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

3725

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

455

14.02.2007 20:17

Intelman



© 2005 - 2024 PCforum, edited by JanoF