Hi, ich hab ein newsscript erstellt, und wollte mich jetzt mal an smileys oder bbCodes wagen,
ich moechte die smileys so einfuegen:smiley:
geht das auch irgendwie ohne Java?!
MFG
juergen
Hi, ich hab ein newsscript erstellt, und wollte mich jetzt mal an smileys oder bbCodes wagen,
ich moechte die smileys so einfuegen:smiley:
geht das auch irgendwie ohne Java?!
MFG
juergen
joar, geht ohne java, geht mit PHP...
hab das mal mit einem GB gemacht, ist eigentlich ganz einfach
musst nur ne kleine Funktion schreiben
probiers so:
Das Feld $Eintrag ist bei mir das Feld wo die Text-Eingaben gemacht werden.
Was dabei ersetzt werden soll, kannst du selbst entscheiden, ich hab jetzt immer die ":-)" ersetzen lassen, kannst du auch in :smiley: ändern...
str_replace => da wird nur nach nem String gesucht, und durch einen String ersetzt.
<?php
function replace($eintrag) {
$eintrag = str_replace("\r\n", "
", $eintrag);
$eintrag = str_replace(":-)", "<img src=\"gb/images/smile.gif\" border=\"0\" alt=\"Keep smiling\" title=\"Keep smiling\">", $eintrag);
$eintrag = str_replace(":)", "<img src=\"gb/images/smile.gif\" border=\"0\" alt=\"Keep smiling\" title=\"Keep smiling\">", $eintrag);
$eintrag = str_replace(";-)", "<img src=\"gb/images/zwinker.gif\" border=\"0\" alt=\"Zwinker\" title=\"Zwinker\">", $eintrag);
$eintrag = str_replace(";)", "<img src=\"gb/images/zwinker.gif\" border=\"0\" alt=\"Zwinker\" title=\"Zwinker\">", $eintrag);
$eintrag = str_replace(":-(", "<img src=\"gb/images/traurig.gif\" border=\"0\" alt=\"Traurig\" title=\"Traurig\">", $eintrag);
$eintrag = str_replace(":(", "<img src=\"gb/images/traurig.gif\" border=\"0\" alt=\"Traurig\" title=\"Traurig\">", $eintrag);
$eintrag = str_replace(":-D", "<img src=\"gb/images/d.gif\" border=\"0\" alt=\"\">", $eintrag);
$eintrag = str_replace(":D", "<img src=\"gb/images/d.gif\" border=\"0\" alt=\"\">", $eintrag);
$eintrag = str_replace("(H)", "<img src=\"gb/images/cool.gif\" border=\"0\" alt=\"\">", $eintrag);
$eintrag = str_replace("(h)", "<img src=\"gb/images/cool.gif\" border=\"0\" alt=\"\">", $eintrag);
$eintrag = str_replace(":-O", "<img src=\"gb/images/o.gif\" border=\"0\" alt=\"\">", $eintrag);
$eintrag = str_replace(":O", "<img src=\"gb/images/o.gif\" border=\"0\" alt=\"\">", $eintrag);
$eintrag = str_replace(":P", "<img src=\"gb/images/p.gif\" border=\"0\" alt=\"\">", $eintrag);
$eintrag = str_replace(":p", "<img src=\"gb/images/p.gif\" border=\"0\" alt=\"\">", $eintrag);
$eintrag = str_replace(":S", "<img src=\"gb/images/s.gif\" border=\"0\" alt=\"\">", $eintrag);
$eintrag = str_replace(":s", "<img src=\"gb/images/s.gif\" border=\"0\" alt=\"\">", $eintrag);
return $eintrag;
}
?>
Alles anzeigen
greetz
naja aber um das so wie heir im forum zu haben , dass man auf einen knopf drückt und der smily erscheint braucht man doch schon javascript
das stimmt, hat er aber nicht geschrieben, und wenn man auf den Knopf drückt kommt auch nur ein :smiley:, also wird eine zeichenkette ersetzt.
aber um das einzufügen durch drücken eines links, wie hier im forum zB brauchst du javascript...
hi, das hier ist mein "Newsscript" also die Datei, womit ich das zur Datenbank schicke, da muss das script doch rein, oder?!
if ($sql = "
INSERT INTO
`news`
(
`autor`,
`titel`,
`inhalt`,
`link`,
`datum`
)
VALUES
(
'{$_POST['autor']}',
'{$_POST['titel']}',
'{$_POST['inhalt']}',
'{$_POST['link']}',
NOW()
)" )
{
echo "Done
";
echo "News anzeigen lassen ";
echo "<a href=\"http://localhost/cms/index.php\">news.php</a>";
}
else
{
echo "Undone";
}
mysql_query($sql);
?>
Alles anzeigen
Ich versteh lieder nicht so recht, wo ich das da jetzt einfuegen muss,
koenntet ihr mir evtl hilfestellung leisten??
Evtl koenntest du mir das auch so gut erklaeren, wie du es mit den Sections gemacht hast, das waere echt spitze!!!
das prinzip ist ganz einfach:
$inhalt = str_replace(":s", "<img src=\"gb/images/s.gif\" border=\"0\" alt=\"\">", $inhalt);
//$inhalt = hier wird das wieder hin gespeichert
str_replace("suchstring" "ersetzen_durch" $inhalt);
/*
suchstring ist das was ersetzt werden soll, also zB wenn er mit bb code dort [B] einfügt, soll und das ersetzt werden soll schreibst du dort [B] hin
ersetzen_durch: der bb code soll ja auch noch geändert werden, hier in [b]
also schreibst du das dort hin...
das letzte ist der string, in dem gesucht werden soll...
du darfst aber nicht vergessen, den code dann auch wieder zu schliessen
bsp:
[B] fetter text [/B]
--->
$inhalt = str_replace("[B]" "[b]" $inhalt);
$inhalt = str_replace("[/B]" "[/b]" $inhalt);
das ganze schreibst du vor deinen datenbank eintrag */
$inhalt = str_replace("[B]" "[b]" $inhalt);
$inhalt = str_replace("[/B]" "[/b]" $inhalt);
if ($sql = "
INSERT INTO
`news`
(
`autor`,
`titel`,
`inhalt`,
`link`,
`datum`
)
VALUES
(
'{$_POST['autor']}',
'{$_POST['titel']}',
'{$_POST['inhalt']}',
'{$_POST['link']}',
NOW()
)" )
{
echo "Done
";
echo "News anzeigen lassen ";
echo "<a href=\"http://localhost/cms/index.php\">news.php</a>";
}
else
{
echo "Undone";
}
mysql_query($sql);
?>
Alles anzeigen
mfg
Also, hier mal mein Script, weil das scheint nicht ganz zu klappen
<form action="news/datei.php" method="post">
Autor:
<input type="text" name="autor"></input>
Titel:
<input type="text" name="titel"></input>
Inhalt:
<textarea name="inhalt" cols="50" rows="20"></textarea>
Link:
<input type="text" name="link"></input>
<input type="submit" />
</form>
Alles anzeigen
Damit sende ich das auf die "datei.php"
Die habe ich jetzt so umgebaut:
<? include('config1.php'); ?>
<?php
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
function replace($inhalt) {
$inhalt = str_replace(":button:", "<img src=\"img/button1.png\" border=\"0\" alt=\"\">", $inhalt);
$inhalt = str_replace("[B]", "[b]", $inhalt);
$inhalt = str_replace("[/B]", "[/b]", $inhalt);
}
if ($sql = "
INSERT INTO
`news`
(
`autor`,
`titel`,
`inhalt`,
`link`,
`datum`
)
VALUES
(
'{$_POST['autor']}',
'{$_POST['titel']}',
'{$_POST['inhalt']}',
'{$_POST['link']}',
NOW()
)" )
{
echo "Done
";
echo "News anzeigen lassen ";
echo "<a href=\"http://localhost/cms/index.php\">news.php</a>";
}
else
{
echo "Undone";
}
mysql_query($sql);
?>
Alles anzeigen
Aber irgendwie steht dann wenn cihd en eintrag ausgeben lasse nur: text
und :button:
Hallo, koennt ihr mir evtl bei dem Problem helfen??
das is echt ziemlich wichtig, ich muss ne Homepage fuer meinen Vater machen, und die muss jetzt bald fertig werden, also waere es echt cool, wenn ihr mir dabei helfen koenntet, dann waere ich naemlich bald fertig!!!
hmm ok da hast du etwas ein bischen falsch verstanden:
also eine funktion führt sich so nicht von alleine aus, du hast diese so nur "bestimmt"
schreib das zB in deine config1.php:
function replace($inhalt) {
$inhalt = str_replace(":button:", "<img src=\"img/button1.png\" border=\"0\" alt=\"\">", $inhalt);
$inhalt = str_replace("[b]", "[b]", $inhalt);
$inhalt = str_replace("[/b]", "[/b]", $inhalt);
}
und in der eigentlichen datei, also datei.php:
<?php
include('config1.php');
replace($inhalt);
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
if ($sql = "
INSERT INTO
`news`
(
`autor`,
`titel`,
`inhalt`,
`link`,
`datum`
)
VALUES
(
'{$_POST['autor']}',
'{$_POST['titel']}',
'{$_POST['inhalt']}',
'{$_POST['link']}',
NOW()
)" )
{
echo "Done
";
echo "News anzeigen lassen ";
echo "<a href=\"http://localhost/cms/index.php\">news.php</a>";
}
else
{
echo "Undone";
}
mysql_query($sql);
?>
Alles anzeigen
die function heisst replace
und die kannst du dann mit
replace($inhalt);
aufrufen
mfg
Aber ob ich die Datei jetzt include, oder direkt da reinschreibe, ist doch eigentlihc egal, oder?
und muesste die funktion nicht eigentlich in die datei, wo ich die news wieder auslese??
<? include('config1.php'); ?>
<link rel="stylesheet" href="style.css" type="text/css">
<? @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
# das auslesen der datenbank
$sql = "
SELECT
*
FROM
`news`
ORDER BY
Datum DESC
";
$ausgabe = mysql_query($sql);
$search = array(':)',
':super:');
$replace = array('[img]smiles/icon_eek.gif[/img]',
'[img]super.gif[/img]');
while($row = mysql_fetch_array($ausgabe)) {
$text = str_replace($search, $replace, $row['inhalt']); // text replacen
?>
<div class="newseintrag">
<center><font size="4"><div class="Titel">
<?=$row['titel']?></div></center></font>
<div class="inhallt" >
<?=nl2br($row['inhalt'])?></div>
<div class="Autor" >
<div class="Link">[b]By:[/b]<?=$row['autor']?> <font color="#EEEEFF">---------------------------------</font>
[b]Link:[/b][url='<?=$row['link']?>']Quelle[/url] [url='news/del.php?del&action=delete&news_id=<?=$row['id']?>']Delete[/url]</div>
</div></div>
<? } ?>
[b]
<?
echo "Moechtest du ein neuen Newseintrag hinzufuegen?\n
";
echo "Dann klick auf den Link: ";
echo "<a href=\"http://localhost/cms/index.php?action=neu\">Klick</a>";
?> [/b]
Alles anzeigen
Damit lese ich das aus der Datenbank wieder aus, so stand es auch im q-net tut, aber irgendwie funktioniert das noch ncih so, was mach ich dwenn da falsch?