Autor | Zpráva | ||
---|---|---|---|
Johnik Profil |
#1 · Zasláno: 5. 1. 2009, 22:11:35 · Upravil/a: Johnik
Dobrý den,
mám problém s regulárními výrazy. Tento kód funguje, ale já nevím jak udělat, aby když je před tím nějaký můj tag (treba <script>), tak aby nefugoval a neobravil nic. Zkoušel jsem všechno možné, ale nedokážu víc, než když je tag přesne před textem. //rozdeleni stringu do pole foreach($array as $neco){ $jine_array["/".$neco."(?![,y])/"]="<span class=\"as2_\">".$neco."</span>"; } //barveni $text = preg_replace(array_keys($jine_array), array_values($jine_array), $text); Děkuji za každou odpověď Opravdu nikdo neví? |
||
Johnik Profil |
#2 · Zasláno: 6. 1. 2009, 18:35:46
Tak já se zeptám jinak.
Jak zjistím jestli se text nachází mezi dvěma tágy? $text = "assafsf <script>asdasff</script>" $text = preg_replace("/<skript>([^<]+)<\/skript>/", "<skript>$1</skript>", $text); //vrátí: assafsf <script>asdasff</script> Ale toto nefunguje. Potřebuji z toho získat pouze <script>asdasff</script> nebo asdasff. Prosím pomoc! |
||
tiso Profil |
#3 · Zasláno: 6. 1. 2009, 18:40:52
Johnik tak nepoužívaj preg_replace() ale preg_match(), prípadne preg_match_all()
|
||
Johnik Profil |
#4 · Zasláno: 6. 1. 2009, 18:45:19 · Upravil/a: Johnik
Už to mám, dík moc za radu.
|
||
Johnik Profil |
#5 · Zasláno: 6. 1. 2009, 21:11:40
Jak prosím upravit toto:
preg_replace("/(\'|\")([^\'\"]+)(\'|\")/", ... aby fungovalo i pri prazdnych uvozovkach? |
||
tiso Profil |
#6 · Zasláno: 6. 1. 2009, 21:16:22
Johnik - miesto + tam daj *
|
||
Johnik Profil |
#7 · Zasláno: 6. 1. 2009, 21:33:51
Funguje, děkuji.
|
||
Johnik Profil |
#8 · Zasláno: 6. 1. 2009, 22:07:45
Ještě se zeptám jak na poznámky. Když mám v kódu // a všechno za tím je jako poznámka, tak aby se mi v tom nebarvilo.
str_replace("//", "<poznamka>" preg_replace("/<poznamka>([^<]+)(?=<)/", ... Musím nějak upravit reguláry pro barvení nebo stačí upravit tento, třeba mazat " a vyhrazená slova pro barvení? |
||
Johnik Profil |
#9 · Zasláno: 7. 1. 2009, 18:38:15
Nevěděl by někdo jak napsat regulární výraz aby mi z výsledku
preg_replace("/<poznamka>([^<]+)(?=<)/", ... odstranil všechny <span class='jakákoliv'> a </span>? Děkuji za odpověď |
||
Časová prodleva: 17 let
|
0