Avatar billede tfswebguy Nybegynder
26. juli 2006 - 23:51 Der er 23 kommentarer og
1 løsning

ændre en streng til noget andet, og tilbage igen

Hej eksperter.

Jeg har lavet et noget alá CMS system.
Og da kan man få forskellige scripts ind på siden som så indlæses med:
<SCRIPT src="http://domain.tld/service.php?noget=1&nogetAndet=1234" type=text/javascript></SCRIPT>

Da det skal sættes ind i en ContentEditable div, går der helt kage i den når man skal gemme det igen, da den så viser scriptet, og så output bagefter.

Derfor vil jeg gerne når man indlæser den side hvor man redigerer sin side, så bliver den lavet om til:
<IMG src="pic.php?noget=1&nogetAndet=1234">

Og når man så vælger at gemme, til den så laver det om igen..

Har prøvet med:
Lav om til IMG: $tekst = eregi_replace("<SCRIPT src=\"([^[]+)\" type=text/javascript></SCRIPT>", "<IMG src=\"\\1\">", $vis['tekst']);

Lav tilbage til script:
$tekst = eregi_replace("<IMG src=\"([^[]+)\">", "<SCRIPT src=\"\\1\" style=text/javascript></SCRIPT>", $_POST['tekst']);

Nogen der kan hjælpe?????
(200 point på højkant)

Mvh Daniel Truelsen
Avatar billede jakobdo Ekspert
27. juli 2006 - 08:26 #1
Fra script til img:
$output = preg_replace('/<SCRIPT\\ssrc="http:\/\/domain\\.tld\/service.php\\?(.+?)"\\stype=text\/javascript><\/SCRIPT>/', '<IMG src="pic.php?$1">', $input);

Og fra img til script:
$output = preg_replace('/<IMG\\ssrc="pic.php\\?(.+?)">/', '<SCRIPT src="http://domain.tld/service.php?$1" type=text/javascript></SCRIPT>', $input);
Avatar billede tfswebguy Nybegynder
27. juli 2006 - 11:14 #2
hey..
takker for hjælpen. Virker også når den bliver lavet om til et img nu.
Men den virker ikke omvendt :(
Avatar billede jakobdo Ekspert
27. juli 2006 - 11:37 #3
Hvad mener du med omvendt?
Avatar billede tfswebguy Nybegynder
27. juli 2006 - 19:44 #4
hey.
Den laver strengen om til et billede nu, men når man gemmer laver den det ikke tilbage :/
Avatar billede jakobdo Ekspert
27. juli 2006 - 20:15 #5
Hvad har du af kode når det er et billede?
Og hvad ønsker du det til efterfølgende?
Avatar billede tfswebguy Nybegynder
27. juli 2006 - 20:48 #6
Har lavet om på det, da jeg troede jeg havde fundet en anden måde..
Nu står der i teksten <kode>service.php?type=4&uid=1&starttid=11;12;05</kode>

Og når den skal redigeres skal teksten laves om til:
<IMG alt="" src="pic.php?type=4&uid=1&starttid=11;12;05">
(Har jeg fået lavet)

Og så når man gemmer, inden den gemmer i en SQL database, skal den lave det om til:
<kode>service.php?type=4&uid=1&starttid=11;12;05</kode>

Nu kniber den bare med at lave det om inden den smider det i databasen.
Har prøvet med følgende:

$tekst = eregi_replace("\<IMG alt=\"\" src=\"", "<kode>", $_POST['tekst']);
$tekst = eregi_replace("\" name=kode\>", "<\kode>", $tekst);
$tekst = eregi_replace("pic.php", "service.php", $tekst);
Avatar billede tfswebguy Nybegynder
27. juli 2006 - 20:49 #7
Undskyld, rettelse: Sådan ser IMG koden ud:
<IMG alt="" src="pic.php?type=4&uid=1&starttid=11;12;05" name=kode>
Avatar billede tfswebguy Nybegynder
27. juli 2006 - 20:52 #8
Og den ændrer det til:
<IMG alt="" src="service.php?type=4&amp;uid=1&amp;starttid=13;01;85</kode>
Avatar billede tfswebguy Nybegynder
27. juli 2006 - 20:52 #9
Hov, hehe.. &amp; er jo godt nok :)
Avatar billede tfswebguy Nybegynder
27. juli 2006 - 21:01 #10
ved denne her ikke er rigtig?::
$tekst = eregi_replace("\<IMG alt=\"\" src=\"", "<kode>", $_POST['tekst']);
Avatar billede jakobdo Ekspert
27. juli 2006 - 21:10 #11
Test lige denne:
$output = preg_replace('/<IMG\\salt=""\\ssrc="pic\\.php\\?(.+?)"\\sname=kode>/', '<kode>service.php?$1</kode>', $input);
Avatar billede tfswebguy Nybegynder
27. juli 2006 - 21:47 #12
så laver den det overhovedet ikke om
Avatar billede jakobdo Ekspert
27. juli 2006 - 21:57 #13
Og du er sikker på $input = '<IMG alt="" src="pic.php?type=4&uid=1&starttid=11;12;05">'; ??
Avatar billede tfswebguy Nybegynder
27. juli 2006 - 22:09 #14
<P>Profil fra: <A href="../newVer/" target=_blank><STRONG>DTWeb</STRONG></A></P>
<P>Skriv nogle funktioner der skal være i min gæstebog hvis det er</P>
<P>Lidt om mig til at starte med:<BR><STRONG>Navn</STRONG>: Daniel<BR><STRONG>Kaldenavn</STRONG>: Dalle<BR><STRONG>Alder</STRONG>: <IMG alt="" src="pic.php?type=4&amp;uid=1&amp;starttid=13;01;85" name=kode><BR><STRONG>Bopæl</STRONG>: Klein Berlin (<EM>Tinglev</EM>)<BR><STRONG>Status</STRONG>: Kæreste&nbsp;<IMG src="http://dtweb.dk/newver/img/smilies/1blue/12.gif"> (Været sammen i: <IMG alt="" src="pic.php?type=4&amp;uid=1&amp;starttid=11;12;05" name=kode>)<BR><STRONG>Mail</STRONG>: Jap (<EM>Spørg for at få</EM>)<BR><STRONG>MSN</STRONG>: Jap (<EM>Spørg for at få</EM>)<BR><STRONG>Stil</STRONG>: Mig selv (<EM>Hvilket er en underlig stil</EM>)<BR><STRONG>Tøjstil</STRONG>: Lige meget.. bare man kan gå i lortet<BR><STRONG>Mærkedreng?</STRONG>: NEJ... Er ligeglad med hvad der står på tøjet.. Skal kun gå i det</P>
<P>Det var lige hvad der faldt mig ind, hehe... Profilen bliver opdateret med mere, lidt senere... SKRIV hvis der er nogle spørgsmål...</P>
<P><STRONG>OG SKAT::: :o ELSKER DIG MERE END NOGET ANDET... DU BETYDER ALT FOR MIG</STRONG></P>

er $input
Som så hedder $_POST['tekst']
Avatar billede jakobdo Ekspert
27. juli 2006 - 22:46 #15
Jeg tror du må lave noget forkert.
Jeg har lige testet her:
http://www.codebreaker.dk/exp/722571exp.php

Input er alt din kode fra indlæg: 27/07-2006 22:09:56
Hvis du klikker view source, så vil du se: <kode>service.php?type=4&amp;uid=1&amp;starttid=13;01;85</kode>
Avatar billede tfswebguy Nybegynder
27. juli 2006 - 23:04 #16
har den selv lavet IMG koden om ved hjælp af PHP?
Avatar billede jakobdo Ekspert
28. juli 2006 - 07:57 #17
Jep! Kig på koden igen.
Avatar billede tfswebguy Nybegynder
28. juli 2006 - 09:50 #18
nu ændrer den overhovedet ikke noget om igen...
Avatar billede jakobdo Ekspert
28. juli 2006 - 10:20 #19
Så laver du noget forkert! :o)
Eller også fortæller du mig ikke alt.
Avatar billede tfswebguy Nybegynder
28. juli 2006 - 10:28 #20
den string du har fået af mig er rigtig (Lavet af den der ContentEditable Edit form)
Og har bare copy/pastet den kode du kom med (preg_replace), og så lige rettet $input til $_POST['tekst']
og så lavet om i DB så den gemmer stringen $output
Avatar billede jakobdo Ekspert
28. juli 2006 - 10:45 #21
Det kan være der er flere mellemrum eller newlines når du paster her, end det data du rent faktisk arbejder på.
Avatar billede tfswebguy Nybegynder
09. november 2006 - 13:49 #22
damn den her har været inaktiv længe :o
Smid lige svar, så får du point
Avatar billede jakobdo Ekspert
09. november 2006 - 18:03 #23
Svar!
Avatar billede jakobdo Ekspert
06. marts 2007 - 10:59 #24
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester