Autor | Zpráva | ||
---|---|---|---|
deader Profil |
#1 · Zasláno: 1. 4. 2010, 11:47:26
Zdravím, nevím, jak mám vytvořit regulární výraz, který by aktualizoval v dlouhém řetězci tenhle zápis:
_**_left;54;nadpis;3;;;;;_**_ _**_left;54;nováHodnota;nováHodnota;;;;;_**_ $obsah=preg_replace("/_\*\*_left;".$id."(;[^;]*){1,5}_\*\*_/", "_**_left;".$id.";".$nadpis.";".substr($uroven[$i],-1).";".$sirka[$i].";".$komentar[$i].";".$typ[$i].";".$inner.";".$vlastnosti[$i]."_**_",$obsah); |
||
deader Profil |
#2 · Zasláno: 2. 4. 2010, 20:40:13
To opravdu nikdo neví, jak vytvořit takový jednoduchý výraz?
|
||
AM_ Profil |
#3 · Zasláno: 2. 4. 2010, 23:37:26
deader:
„To opravdu nikdo neví, jak vytvořit takový jednoduchý výraz?“ i na mém 1920px širokém monitoru se mi u toho výrazu objevil vertikální scroll. Tak jakýpak jednoduchý :) mě a asi ani nikomu jinému se nechce ten výraz luštit a ladit. Zkus si ho odladit sám, já vím, že je to otrava, ale není důvod, proč by to měl někdo dělat za tebe, ono ne že jsi amatér na reguláry, jen jsi líný si to sám odladit. Prostě si hledaný výraz zjednoduš (pro začátek začni třeba jen na _**_), napiš si regulár, který najde to, pak si postupně začni přidávat ty středníky atd... časem na to buď přijdeš sám nebo alespoň odhalíš, v čem přesně nastává problém, a budeš umět položit jednodušší otázku, na kterou bude někdo ochoten odpovědět. |
||
deader Profil |
#4 · Zasláno: 3. 4. 2010, 19:57:19
Regulární výraz jej jen "/_\*\*_left;".$id."(;[^;]*){1,5}_\*\*_/" , to dál je jen to, čím se to má ta část řetězce. Ale to je jedno.
Již jsem to po 2 hodinách vyřešil. Problém byl v tom, že do (;[^;]*) spadal i konec úseku(_**_) a jako konec se bral konec jiného úseku. Tak jsem to napsal takhle: "/_\*\*_left;".$i."(;[^;(_\*\*_)]*){1,7}_\*\*_/" Warning: preg_replace() [function.preg-replace]: Unknown modifier 'l' in .. |
||
Majkl578 Profil |
#5 · Zasláno: 3. 4. 2010, 20:00:49 · Upravil/a: Majkl578
deader:
„Akorát nevím, proč na zažátku a konci regulárního výrazu musí být lomítka.“ Protože je to pravidlo. Nemusí to být lomítka, já třeba používám vlnku (~). |
||
deader Profil |
#6 · Zasláno: 4. 4. 2010, 19:04:02
Dík za informaci.
|
||
Časová prodleva: 14 let
|
0