apric
Erfahrenes Mitglied
ich habe folgendes problem:
ich hatte ein gästebuch geschrieben, mit folgender struktur:
- auslesen.php (eingabe von einträgen, ausgabe aller einträge)
- eintragen.php (bearbeitung des strings, speichern in der datenbank)
nun habe ich eine vorschau-funktion eingebaut:
- preview.php
dann habe ich die ganzen string-bearbeitungen (die vorher alle in eintragen.php standen) in diese preview.php verschoben,um so die vorschau richtig darzustellen, dann habe ich ein blindes formular in diese preview.php eingebaut, in dem die von auslesen.php ankommenden variablen gespeichert werden, sodaß (wenn der eintrag ok ist,) der user auf "eintragen" klickt und so der eintrag letztendlich in die datenbank geschrieben wird (nunmehr einzige aufgabe von eintragen.php).
das klappt auch so ganz gut, nur habe ich nun das problem, daß links (werden in preview.php zu links verarbeitet) nun statt mit ["] mit [\'] erscheinen (eckige klammern wegdenken).
ich poste hier mal meinen code, um die urls umzuwandeln:
( von http://www.bla.de zu <a href="http://www.bla.de">http://www.bla.de</a> )
das ganze könnt ihr euch unter apric.dyndns.org ansehen.
es hat etwas mit der übergabe von zeichenketten zu tun, es werden anführungsstriche falsch formatiert, so denk ich mal.
wie krieg ich die strings richtig übergeben? ich hab die files auch unter apric.dyndns.org/test.zip als zip-datei ziehen.
aber ich denke mal das grundproblem ist zu erkennen, versucht mal einen eintrag mit url zu machen unter apric.dyndns.org.
wäre echt nett, thx im voraus
ich hatte ein gästebuch geschrieben, mit folgender struktur:
- auslesen.php (eingabe von einträgen, ausgabe aller einträge)
- eintragen.php (bearbeitung des strings, speichern in der datenbank)
nun habe ich eine vorschau-funktion eingebaut:
- preview.php
dann habe ich die ganzen string-bearbeitungen (die vorher alle in eintragen.php standen) in diese preview.php verschoben,um so die vorschau richtig darzustellen, dann habe ich ein blindes formular in diese preview.php eingebaut, in dem die von auslesen.php ankommenden variablen gespeichert werden, sodaß (wenn der eintrag ok ist,) der user auf "eintragen" klickt und so der eintrag letztendlich in die datenbank geschrieben wird (nunmehr einzige aufgabe von eintragen.php).
das klappt auch so ganz gut, nur habe ich nun das problem, daß links (werden in preview.php zu links verarbeitet) nun statt mit ["] mit [\'] erscheinen (eckige klammern wegdenken).
ich poste hier mal meinen code, um die urls umzuwandeln:
( von http://www.bla.de zu <a href="http://www.bla.de">http://www.bla.de</a> )
PHP:
//------------------HTML-TAGS_ENTFERNEN,_OPTIMIEREN--------------------------------------------------------------------|
$eintrag=strip_tags($eintrag);
$eintrag=htmlentities($eintrag);
$eintrag=nl2br($eintrag);
//------------------URLS_->_LINKS_V1-----------------------------------------------------------------------------------|
$i=0;
$menge_anfang_url=substr_count(strtolower($eintrag),"")+substr_count(strtolower($eintrag),"[url=");
$menge_ende_url=substr_count(strtolower($eintrag),"");
if ($menge_anfang_url != $menge_ende_url)
{
//---------------------------------FEHLER_AUFGETRETEN------------------------------------------------------------------|
print "<a href='javascript:window.history.back()'>Eintrag <u>nicht</u> erfolgreich, es stimmt etwas nicht mit den Links.</a>";
$error=1;
}
//---------------------------------WEITER_WENN_KEIN_FEHLER-------------------------------------------------------------|
if ($menge_anfang_url == $menge_ende_url)
{
while ($i<=$menge_anfang_url-substr_count(strtolower($eintrag),"[url="))
{
$extra="";
$eintrag=spliti ("\[URL\]",$eintrag,2);
$url=$eintrag[1];
$url=spliti ("\[/URL\]",$url,2);
list($teil1,$teil2)=$url;
$url=$teil1;
if (substr_count($url,"http://")==0 && substr_count($url,"www.")==1)
{
$extra="http://";
}
if (substr_count($url,"http://")==0 && substr_count($url,"ftp.")==1)
{
$extra="ftp://";
}
$url=trim($url);
$eintrag=implode("<a href=\'$extra",$eintrag);
$eintrag=spliti ("\[/URL\]",$eintrag,2);
$eintrag=implode("\' target=\'$url\'>$url</a>",$eintrag);
$i++;
if ($i==$menge_anfang_url)
{
break;
}
}
das ganze könnt ihr euch unter apric.dyndns.org ansehen.
es hat etwas mit der übergabe von zeichenketten zu tun, es werden anführungsstriche falsch formatiert, so denk ich mal.
wie krieg ich die strings richtig übergeben? ich hab die files auch unter apric.dyndns.org/test.zip als zip-datei ziehen.
aber ich denke mal das grundproblem ist zu erkennen, versucht mal einen eintrag mit url zu machen unter apric.dyndns.org.
wäre echt nett, thx im voraus
