| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

26-10-2002, 01:30
|
|
archie
PHP Junior
|
|
Registriert seit: Jan 2002
Ort: Berlin
Beiträge: 689
|
|
preg_replace Problem.
Ich führe eine Datenbank Abfrage durch, und vor der Abfrage sind paar ubbs definiert:
PHP-Code:
<?php
$daten[NACHRICHT] = preg_replace("/\[img]/",<img src=",$daten[NACHRICHT]);
$daten[NACHRICHT] = preg_replace("/[/img]/"," align="absmiddle\">,$daten[NACHRICHT]);
$daten[NACHRICHT] = preg_replace("/[email]/",<a href=\"mailto:,$daten[NACHRICHT]);
$daten[NACHRICHT] = preg_replace("/[/email]/",\">email</a>, $daten[NACHRICHT]);
$daten[NACHRICHT] = preg_replace("/[url]/",\<a href=\", $daten[NACHRICHT]);
$daten[NACHRICHT] = preg_replace("/[/url]/",\" target=\"_blank\">, $daten[NACHRICHT]);
?>
Meiner meinung nach sollen die Sachen dann auch erstz werden, die auf dem DB -Feld NACHRICHT sind.
Ich kriege aber nur Parse Errors rein. kann mir jemand bitte sagen, was ich da falsch gemacht habe???
Geändert von archie (26-10-2002 um 01:33 Uhr)
|

26-10-2002, 01:41
|
|
archie
PHP Junior
|
|
Registriert seit: Jan 2002
Ort: Berlin
Beiträge: 689
|
|
Re: preg_replace Problem.
oder soll ich das noch vor der Einspeisung in die Datenbank machen?????
|

26-10-2002, 07:08
|
Wotan
Master  
|
|
Registriert seit: Sep 2001
Ort: Berlin
Beiträge: 5.348
|
|
Du machst das nur bei der Ausgabe des Textes.
Aber mach das mal lieber als Function und rufe dann zur Ausgabe diese so auf:
PHP-Code:
echo ubb($daten[NACHRICHT]);
|

26-10-2002, 08:17
|
TBT
 Moderator
|
|
Registriert seit: Sep 2002
Ort: Berlin
Beiträge: 2.776
|
|
Parse Erro ists logisch,
da fehlen jede Menge "
das sieht man schon am falschen
Highlighting hier im Board
|

26-10-2002, 11:15
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
PHP-Code:
preg_replace("/[img]/","<img src=\"",$daten[NACHRICHT]);
Sowas in der Richtung!
|

26-10-2002, 12:07
|
|
archie
PHP Junior
|
|
Registriert seit: Jan 2002
Ort: Berlin
Beiträge: 689
|
|
 alle Versuche brachten mir nichts.
In der ausgabe steht dann auch z.B.
[img]
So wie es gespeichert wird.
Und es wird leider nichts ersetzt.  was mach ich da flasch???
Code ist doch richtig oder???
PHP-Code:
$daten[NACHRICHT] = preg_replace("/\[img]/","<img src=\",$daten[NACHRICHT]);
$daten[NACHRICHT] = preg_replace("/[/img]/",\" align=\"absmiddle\">,$daten[NACHRICHT]);
Geändert von archie (26-10-2002 um 12:10 Uhr)
|

26-10-2002, 12:14
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
NEE, der Code ist natürlich falsch, wenn du [img] ersetzen willst. dein Code ersetzt /[img]/ oder sowas.
preg_replace("[img]","<img src=\"",$daten[NACHRICHT]);
|

26-10-2002, 12:21
|
|
archie
PHP Junior
|
|
Registriert seit: Jan 2002
Ort: Berlin
Beiträge: 689
|
|
<?php
$daten[NACHRICHT]=preg_replace("[img]","<img src=\"",$daten[NACHRICHT]);
$daten[NACHRICHT]=preg_replace("[/img]"," align=\"absmiddle\">,$daten[NACHRICHT]);
?>
oder
<?php
preg_replace("[img]","<img src=\"",$daten[NACHRICHT]);
preg_replace("[/img]"," align=\"absmiddle\">,$daten[NACHRICHT]);
?>
Parse error: parse error in /home/www/htdocs/news/news_ubb.php on line 4
Geändert von archie (26-10-2002 um 12:23 Uhr)
|

26-10-2002, 12:28
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Dann guck dir mal Zeile 3 an! Hast ein " Vergessen. Am ende des zweiten Funktionswertes!
Bin jetzt arbeiten, viel Erfolg!
|

26-10-2002, 12:50
|
|
archie
PHP Junior
|
|
Registriert seit: Jan 2002
Ort: Berlin
Beiträge: 689
|
|
Wie wird es denn bei vBulletin gemacht???
Ich glaube hier werden die sahen, wie [img] auch von der DB abgerufen und vor der Ausgabe ersetzt oder????
aber bei mir passiert gar nichts. Die Tabellenspalte heißt NACHRICHT
und wenn ich die abrufe: $daten[NACHRICHT] ich versuche vor der echo ausgabe dies zu erstezen:
$daten[NACHRICHT]= str_replace("[img]", "<img src=\"", $daten[NACHRICHT]);
$daten[NACHRICHT]= str_replace("[/img]", "\">", $daten[NACHRICHT]);
da passiert aber gar nichts.
Heul  was mache ich da falsch???
So hab ich auch keine PARSE Errors, aber auch kein Ergebnis
|

26-10-2002, 13:28
|
|
BielWeb
Junior Member
|
|
Registriert seit: May 2002
Beiträge: 112
|
|
$daten[NACHRICHT]= preg_replace("/\[img\]/","<img src=\"", $daten[NACHRICHT]);
$daten[NACHRICHT]= preg_replace("/\[\/img\]/","\">", $daten[NACHRICHT]);
|

26-10-2002, 15:15
|
|
archie
PHP Junior
|
|
Registriert seit: Jan 2002
Ort: Berlin
Beiträge: 689
|
|
 ja aber wo und wie soll ich das einbauen?????
Ich probiere es die ganze Zeit so:
PHP-Code:
....................................
............................................
.................................................
$result = mysql_query("SELECT * FROM news ORDER BY DATUM DESC LIMIT ".($page-1)*$limit.", ".$limit);
$seiten = ceil($total/$limit);
echo "<table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\">";
while ($daten=mysql_fetch_array($result ))
$daten[NACHRICHT]= preg_replace("/\[img\]/","<img src=\"", $daten[NACHRICHT]);
$daten[NACHRICHT]= preg_replace("/\[\/img\]/","\">", $daten[NACHRICHT]);
{
echo "
<tr>
<td width=\"60%\"><b>$daten[TOPIC]</b></td>
<td width=\"40%\"><div align=\"right\">vom: $daten[POSTDATUM]</div></td>
</tr>
<tr valign=\"top\">
<td colspan=\"2\" width=\"100%\">
<p>$daten[NACHRICHT]</p>
</td>
</tr>
<tr>
<td colspan=\"1\"><br>[ writen by $daten[NAME] ] | [ Kommentare ] <br></td>
</tr><br>";
}
echo "</table>";
mysql_close();
?>
|

26-10-2002, 15:17
|
Wotan
Master  
|
|
Registriert seit: Sep 2001
Ort: Berlin
Beiträge: 5.348
|
|
Denkfehler. !!! ich ändere
|

26-10-2002, 15:20
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Was passiert, wenn dus änderst. Ne Zeile tiefer hätte es wohl gepasst.
|

26-10-2002, 15:22
|
Wotan
Master  
|
|
Registriert seit: Sep 2001
Ort: Berlin
Beiträge: 5.348
|
|
PHP-Code:
$result = mysql_query("SELECT * FROM news ORDER BY DATUM DESC LIMIT ".($page-1)*$limit.", ".$limit);
$seiten = ceil($total/$limit);
echo "<table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\">";
while ($daten=mysql_fetch_array($result ))
function Nach($msg)
{
$msg = preg_replace("/\[img\]/","<img src=\"", $msg);
$msg = preg_replace("/\[\/img\]/","\">", $msg);
return $msg;
}
{
echo "
<tr>
<td width=\"60%\"><b>$daten[TOPIC]</b></td>
<td width=\"40%\"><div align=\"right\">vom: $daten[POSTDATUM]</div></td>
</tr>
<tr valign=\"top\">
<td colspan=\"2\" width=\"100%\">
<p>".Nach($daten[NACHRICHT])."</p>
</td>
</tr>
<tr>
<td colspan=\"1\"><br>[ writen by $daten[NAME] ] | [ Kommentare ] <br></td>
</tr><br>";
}
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|