Autor | Zpráva | ||
---|---|---|---|
Jack Finger Profil |
#1 · Zasláno: 8. 6. 2008, 12:24:32
$query = "DELETE FROM `table` WHERE `url` = 'url'"; echo preg_replace("/(.*)`(.*)`(.*)/i", "\\2", $query, 1); jak mi tohle může vrátit "url", když to mám nastavené na 1 překlad? Díky. |
||
nightfish Profil |
#2 · Zasláno: 8. 6. 2008, 12:36:29 · Upravil/a: nightfish
přidej si modifikátor U
protože první (.*) ti teď "matchuje" výraz DELETE FROM `table` WHERE (kvůli nenažranosti regulárních výrazů) preg_replace("/(.*)`(.*)`(.*)/Ui", "\\2", $query, 1); |
||
Jack Finger Profil |
#3 · Zasláno: 8. 6. 2008, 12:48:05
nightfish
no jo, ale s modifikátorem U mi to vypíše: table WHERE `url` = 'url' ...? |
||
nightfish Profil |
hmm, vidíš
a čeho vlastně chceš dosáhnout? |
||
Jack Finger Profil |
#5 · Zasláno: 8. 6. 2008, 12:51:11
nightfish
aha, asi jsem to jasně nepopsal :oP potřeboval bych, aby mi to vypsalo jen "table". |
||
nightfish Profil |
#6 · Zasláno: 8. 6. 2008, 12:52:57
v tom případě netřeba nahrazování, tohle vypíše první řetězec uzavřených do "zpětných apostrofů"
if (preg_match("/`(.*)`/U", $query, $result)) echo $result[1]; |
||
Jack Finger Profil |
#7 · Zasláno: 8. 6. 2008, 12:56:46
nightgish
no nevím.. tak ještě jinak: mám třídu MySQL, kde mám funkci query, která vykonává SQL příkaz. Potřeboval bych aby se do: $sql->query("DELETE FROM `table` WHERE ..."); automaticky přidal TABLE_PREFIX $sql->query("DELETE FROM `" . TABLE_PREFIX . "table` WHERE ..."); |
||
nightfish Profil |
#8 · Zasláno: 8. 6. 2008, 13:01:46
<?php Define("TABLE_PREFIX", "prefix"); $q = "DELETE FROM `table` WHERE `sloupec` = 'neco'"; echo preg_replace("/(.*)`(.*)`(.*)/U", "\\1`".TABLE_PREFIX."\\2`\\3", $q, 1); ?> |
||
Jack Finger Profil |
#9 · Zasláno: 8. 6. 2008, 13:11:59
díky, funguje :o)
|
||
Časová prodleva: 16 let
|
0