Autor | Zpráva | ||
---|---|---|---|
huff Profil * |
#1 · Zasláno: 16. 1. 2010, 21:36:14
$tmp_source = preg_replace_callback("/\{mod_(.+)\}/", "functions::getMatches", $tmp_source); V tomto regulárním výrazu chci vybraz všechno co je za {mod_, bez poslední složené závory, dělám to evidentně špatně, protože, pokud mám dvě složené žávorky vedle sebe a nejsou odděleny koncem řádku, vezme je to obě. Mohl by jste mi tu někdo prosím upravit ten regulární výraz tak, aby to bylo nějak takto: začínat na "{mod_" vyjmout do závorky to za mod, a končit na "}" Díky. |
||
Majkl578 Profil |
#2 · Zasláno: 16. 1. 2010, 21:49:00
Přidej modifikátor U.
|
||
huff Profil * |
#3 · Zasláno: 16. 1. 2010, 21:50:58
Majkl578:
Co to je přesně? |
||
Majkl578 Profil |
#4 · Zasláno: 16. 1. 2010, 22:20:18
To jsou znaky, které jsou za ukončovacím delimiterem. V tvém případě to je /, takže regulární výraz bude: "/\{mod_(.+)\}/U".
|
||
huff Profil * |
#5 · Zasláno: 16. 1. 2010, 22:24:17
Majkl578:
Dík, a co způsobí /s ? |
||
huff Profil * |
#6 · Zasláno: 16. 1. 2010, 22:56:19
Majkl578:
Tak dobrý, funguje /U, tak je to v pohodě, ale měl bych ještě jeden dotaz. Dostávám z toho takovéhle pole: Array ( [0] => {mod_lastcoms} [1] => lastcoms ) Array ( [0] => {mod_lastarts} [1] => lastarts ) Array ( [0] => {mod_fuck_off} [1] => fuck_off ) Array ( [0] => {mod_laaa} [1] => laaa ) Array ( [0] => {mod_folder} [1] => folder ) Když bych chtěl nějak automaticky brát jen jakoby ten index 1, přičemž se bude počet těch polí dynamicky měnit, šlo by to nějak? |
||
Majkl578 Profil |
#7 · Zasláno: 16. 1. 2010, 23:03:06
Callback vždy dostane pole.
|
||
huff Profil * |
#8 · Zasláno: 16. 1. 2010, 23:13:45
Majkl578:
Ano, to jsem si tak nějak všiml, ale mám problém ho zpracovat - obzvlášť když předem nevím, kolik polí dostanu. |
||
Majkl578 Profil |
#9 · Zasláno: 18. 1. 2010, 14:40:16
Callback dostane vždy jeden argument - pole. Obsah tohoto pole se řídí zapsáním regulárního výrazu.
Pokud budu mít výraz, kde budou dva zachytávané podvýrazy, dostanu pole o třech hodnotách. První bude celý řetězec, druhý zachycený řetězec a třetí druhý zachycený. |
||
Časová prodleva: 14 let
|
0