Slettet bruger
09. august 2004 - 11:33
Der er
45 kommentarer og 1 løsning
Gennemsøgning af streng
Hejsa Jeg har en streng som jeg gerne vil have gennemsøgt for Ascii(13) (jeg mener det er ENTER), faktisk ligesom her på eksperten. Hvordan gør jeg det? Og hvordan søger jeg efter [a] [/a]
Annonceindlæg fra Computerworld it-jobbank
09. august 2004 - 11:41
#1
Skal du finde positionen for tegnet eller erstatte tegnet med noget andet?
09. august 2004 - 13:36
#3
hvis du skal finde f.eks. [a] kan du lave en $mystring = 'hej [a] med [/a] dig :P'; $findme = '[a]'; $pos = strpos($mystring, $findme); så får du nummeret på tegnet i stregen, men hvis du f.eks. vil lave [/a] osv til links, så skal du kigger på str_replace , eller smartere til ereg_replace & preg_replace (kig i manualen)
09. august 2004 - 14:14
#5
Oh, og [a]blah[/a] tingen: $text = "din tekst her [a]blah blah[/a]"; preg_match_all( "/\[a\](.*?)\[\/a\]/si", $text, $matches ); echo "<pre>"; var_dump( $matches );
Slettet bruger
09. august 2004 - 18:13
#6
sone > fx: hvis jeg skriver: [a]www.wollsen.com[/a] vil jeg have det gjort om til <a href="
www.wollsen.om</a> " target="_blank">http://www.wollsen.com">
www.wollsen.om</a> thedeathart > Kan du evt komme med nogle eksempler på de ting du lister op?
coderdk > så hvis jeg trykker ENTER i et felt som jeg skriver i her, ser php det som \n? eller skal jeg skrive \n?
09. august 2004 - 18:18
#7
preg_replace( "/\[a\](.*?)\[\/a\]/si", '<a href="\\1">\\1</a>", $text ); Hvis du taster enter i et textarea, og kører det igennem nl2br laver den dem om til <br> du skal ikke skrive \n :)
Slettet bruger
09. august 2004 - 19:03
#8
ok lyder godt, og hvordan virker den der preg_replace helt 100?
Slettet bruger
09. august 2004 - 19:04
#9
$skrevet = nl2br($_POST['writen'];) <- ville den virke fint eller?
Slettet bruger
09. august 2004 - 19:08
#10
det kan jeg så nu sige at det ikke gjorde!
Slettet bruger
10. august 2004 - 08:28
#12
hvad så hvis jeg vil have gjort sådan her: [a link="
http://www.gem.dk"]Tekst[/a] Så den gemmer både url og teksten?
Slettet bruger
10. august 2004 - 08:36
#13
min $skrevet blev sat ind i database, så derfor virkede det ikke. Jeg kørte mit database udtræk gennem nl2br og det virkede :)
10. august 2004 - 09:17
#14
Ah :)
Slettet bruger
10. august 2004 - 09:43
#15
men kunne du svare på det jeg skrev 10/08-2004 08:28:59, håber der er et svar i aften ved kl 18. Der er jeg nemlig hjemme igen. Skal i skole nu :)
10. august 2004 - 10:16
#16
preg_replace( "/\[a link=\"(.*?)\"\](.*?)\[\/a\]/si", '<a href="\\1">\\2</a>", $text );
Slettet bruger
10. august 2004 - 11:40
#17
og så er \\1 url'en og \\2 teksten?
Slettet bruger
10. august 2004 - 11:41
#18
tak for hjælpen :)
10. august 2004 - 15:57
#19
Det var så lidt :) Ja, man kan "tælle" på () hvilket register det bliver smidt i. Regular expressions er lækre :)
Slettet bruger
11. august 2004 - 09:17
#20
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/web/web8411/addnews2.php on line 21 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/web/web8411/addnews2.php on line 21 Parse error: parse error, unexpected T_LNUMBER in /home/web/web8411/addnews2.php on line 21 Jeg kører den igennem det "filter" inden jeg smider det i databasen og får så de fejl!
11. august 2004 - 09:36
#21
Hvad står der på linie 21?
Slettet bruger
11. august 2004 - 11:51
#22
preg_replace( "/\[a link=\"(.*?)\"\](.*?)\[\/a\]/si", "<a href="\\1">\\2</a>", $_GET['written'] );
Slettet bruger
11. august 2004 - 11:51
#23
hov $skrevet = preg_replace( "/\[a link=\"(.*?)\"\](.*?)\[\/a\]/si", "<a href="\\1">\\2</a>", $_GET['written'] ); sådan :)
11. august 2004 - 14:18
#24
Ret den til: $skrevet = preg_replace( "/\[a link=\"(.*?)\"\](.*?)\[\/a\]/si", "<a href=\"\\1\">\\2</a>", $_GET['written'] ); eller $skrevet = preg_replace( "/\[a link=\"(.*?)\"\](.*?)\[\/a\]/si", '<a href="\\1">\\2</a>', $_GET['written'] );
Slettet bruger
11. august 2004 - 18:53
#25
http://www.wollsen.com/index2.php?side=news Så kan du se hvad der sker
Kan det evt være fordi at jeg skal køre den igennem filteret inden jeg spytter den ud på siden, ligesom ved nl2br?
11. august 2004 - 18:59
#26
Har du rettet den, som jeg skrev i min sidste kommentar?
Slettet bruger
11. august 2004 - 19:02
#27
ja det har jeg gjort, der kom netop ingen fejl nu
11. august 2004 - 19:04
#28
Ja, den replacer jo ikke noget lige nu så vidt jeg kan se, prøv at smide den igennem den preg_replace inden du spytter den ud... :)
Slettet bruger
11. august 2004 - 19:05
#29
skal jeg slette det inden jeg smider det ind i databasen eller lade det stå? Den ignorerer det jo alligevel
Slettet bruger
11. august 2004 - 19:08
#30
11. august 2004 - 19:31
#31
Uhm, hvis du bruger preg_replace før du smider det ind burde det være ændret jo... Må jeg se koden omkring hvor du bruger preg_replace?
Slettet bruger
11. august 2004 - 19:33
#32
<?PHP session_start(); $sessid = session_id(); include ("config.php"); $db = mysql_connect("$server","$userid","$pw"); mysql_select_db("$dbase",$db); $getindlaeg=mysql_query("SELECT * FROM `login` ORDER BY 1 DESC",$db); while ($liste=mysql_fetch_row($getindlaeg)) { if ($sessid != $liste[2]) { echo "<script>parent.location.href='login.php'</script>"; } } ?> <HTML> <BODY BGCOLOR="#f0f0f0"> <?PHP $head = $_POST['overskrift']; $text = $_POST['tekst']; $skrevet = preg_replace( "/\[a link=\"(.*?)\"\](.*?)\[\/a\]/si", "<a href="\\1">\\2</a>", $_GET['written'] ); include ("config.php"); $db = mysql_connect("$server","$userid","$pw"); mysql_select_db("$dbase",$db); $nyhed_dato=date("d.m.Y"); echo "Et øjeblik..<br><br>"; mysql_query ("INSERT INTO news (dato, overskrift, tekst) VALUES ('$nyhed_dato','$head','$text')") ; echo "Gennemført"; echo "<script>window.location.href='newsadmin.php'</script>"; ?> </BODY> </HTML>
11. august 2004 - 19:36
#33
Du smider $text ind og ikke $skrevet ;) mysql_query ("INSERT INTO news (dato, overskrift, tekst) VALUES ('$nyhed_dato','$head','$text')") ; ret den til: mysql_query ("INSERT INTO news (dato, overskrift, tekst) VALUES ('$nyhed_dato','$head','$skrevet')") ;
Slettet bruger
11. august 2004 - 19:40
#34
nej nu ved jeg da hvorfor $skrevet = hvem der har lavet nyheden $text = teksten Det er en fejl herfra
11. august 2004 - 19:41
#35
:)
Slettet bruger
11. august 2004 - 19:42
#36
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/web/web8411/addnews2.php on line 20 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home/web/web8411/addnews2.php on line 20 Parse error: parse error, unexpected T_LNUMBER in /home/web/web8411/addnews2.php on line 20 Denne fejl igen $text = preg_replace( "/\[a link=\"(.*?)\"\](.*?)\[\/a\]/si", "<a href="\\1">\\2</a>", $_POST['tekst'] ); ^ linie 20 ^
11. august 2004 - 19:44
#37
Du har igen taget den gamle. Se min kommentar fra 11/08-2004 14:18:10 og udskift $skrevet med $text...
Slettet bruger
11. august 2004 - 19:51
#38
11. august 2004 - 19:56
#39
Smid koden igen
Slettet bruger
11. august 2004 - 19:59
#40
<?PHP session_start(); $sessid = session_id(); include ("config.php"); $db = mysql_connect("$server","$userid","$pw"); mysql_select_db("$dbase",$db); $getindlaeg=mysql_query("SELECT * FROM `login` ORDER BY 1 DESC",$db); while ($liste=mysql_fetch_row($getindlaeg)) { if ($sessid != $liste[2]) { echo "<script>parent.location.href='login.php'</script>"; } } ?> <HTML> <BODY BGCOLOR="#f0f0f0"> <?PHP $head = $_POST['overskrift']; $text = preg_replace( "/\[a link=\"(.*?)\"\](.*?)\[\/a\]/si", '<a href="\\1">\\2</a>', $_POST['tekst'] ); $skrevet = $_POST['written']; include ("config.php"); $db = mysql_connect("$server","$userid","$pw"); mysql_select_db("$dbase",$db); $nyhed_dato=date("d.m.Y"); echo "Et øjeblik..<br><br>"; mysql_query ("INSERT INTO news (dato, overskrift, tekst) VALUES ('$nyhed_dato','$head','$text')") ; echo "Gennemført"; echo "<script>window.location.href='newsadmin.php'</script>"; ?> </BODY> </HTML>
11. august 2004 - 20:28
#41
Jeg ved ikke hvad den laver, dette eksempel virker, og det ser helt ud som din kode:
<?php
$text = <<<STOP
Sidste gang!
[a link="
http://www.wollsen.com"]Wolle's side[/a]
NÅ!
STOP;
$text = preg_replace( "/\[a link=\"(.*?)\"\](.*?)\[\/a\]/si", '<a href="\\1">\\2</a>', $text );
echo nl2br( $text );
?>
Slettet bruger
11. august 2004 - 20:33
#42
hvad mener du med det der?
11. august 2004 - 20:47
#43
Jeg mener efter hvad jeg kan se af din kode, så burde det virke. For det eksempel jeg lige har lavet, gør nøjagtigt det samme - og det virker fint... Altså: Det du har lavet burde virke!
Slettet bruger
11. august 2004 - 21:06
#44
Så vidt jeg kan se på det der så gør du det der på siden hvor det bliver hentet?
11. august 2004 - 21:34
#45
Jep, men det spiller jo ingen rolle, du kan sagtens gemme det før og så vise det der er gemt, samme resultat :)
Slettet bruger
12. august 2004 - 07:59
#46
okay. Tak for hjælpen jeg vil bare prøve mig lidt frem ;)
Vi tilbyder markedets bedste kurser inden for webudvikling