Autor | Zpráva | ||
---|---|---|---|
bAra Profil * |
#1 · Zasláno: 4. 8. 2012, 14:21:53
Ahoj, chtěla bych odstranit celý tag
<script></script> nebo <script type="text/javascript"></script> atd. z textového řetězce.
$source = preg_replace("~<script .*?>.+?</script>~si", "", $source); Děkuji Vám |
||
Alphard Profil |
#2 · Zasláno: 4. 8. 2012, 14:26:48
Ten zápis .*? je nějaký divný. Zkoušela jste jen
.* a bez té mezery?
~<script.*>.*</script>~si |
||
bAra Profil * |
#3 · Zasláno: 4. 8. 2012, 14:30:24
Zkoušela, a toto
<script type="text/javascript">xx</script> mi to neodstraní.
|
||
Alphard Profil |
#4 · Zasláno: 4. 8. 2012, 16:14:34
Mně ano
$r = preg_replace("~<script.*>.*</script>~si", '', 'pred<script type="text/javascript">xx</script>za'); var_dump($r); // string(6) "predza" |
||
bAra Profil * |
#5 · Zasláno: 5. 8. 2012, 12:43:37
Zjistila jsem že to opravdu funguje ale pokud mám SCRIPT na začátku textu i na konci textu tak mi to smaže vše co je mezi tím:
př: aaa<script type="text/javascript">bbb</script>ccc <p>ddd</p> eee<script type="text/javascript">fff</script>ggg |
||
1Pupik1989 Profil |
|||
Radek9 Profil |
1Pupik1989:
Ten s modifikátor tam byl dost důležitý. :-) Když budeš mít script na několik řádků, tak ti ho to nesmaže. Použil bych tenhle: "~<script.*>.*</script>~Usi" "~<script.*?>.*?</script>~si" |
||
bAra Profil * |
#8 · Zasláno: 5. 8. 2012, 15:10:43
Díky!
|
||
1Pupik1989 Profil |
Radek9:
Okopíroval jsem zadání z [#5] Výsledek: string(26), což je to samé. Tedy za předpokladu, že je to jeden string. aaaccc <p>ddd</p> eeeggg |
||
Časová prodleva: 12 let
|
0