preg_replace_callback() klappt irgendwie nit =/ |
Black Katrin

Mitglied
 
Dabei seit: 22.11.2005
Beiträge: 7.125
Herkunft: Schweiz
 |
|
|
30.06.2010 21:43 |
|
|
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
|
30.06.2010 21:52 |
|
|
Black Katrin

Mitglied
 
Dabei seit: 22.11.2005
Beiträge: 7.125
Herkunft: Schweiz
Themenstarter
 |
|
uh dank deinen hinweisen hab ich noch was anderes gefunden
mit preg_replace_callback() dürfte es auch funktionieren, da mach ich ja ne eigene funktion dafür... bist nen schatz, danke
|
|
30.06.2010 22:00 |
|
|
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
Stimmt, das gibts auch noch, ist mir gar nicht eingefallen
.
Gern geschehen
.
|
|
30.06.2010 22:03 |
|
|
Black Katrin

Mitglied
 
Dabei seit: 22.11.2005
Beiträge: 7.125
Herkunft: Schweiz
Themenstarter
 |
|
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
|
<?php
function FunktionBild($treffer) {
$bild_id = $treffer[1];
$align = $treffer[2];
$bilder_abfrage = "SELECT * FROM galerie_bilder WHERE id='$bild_id'";
$bilder_ergebnis=mysql_db_query($db,$bilder_abfrage,$verbindung);
while($row = mysql_fetch_object($bilder_ergebnis))
{$url=$row->url;}
$link = "<a href='index.php?section=bild&bild_id=$bild_id'><img src='bilder_bild.php?pfad=../privi/bilder/$url' class='bilder' alt='Fotografie - © Katrin Affolter' align='$align'></a>";
return $link;
}
$blog_id = $_GET['blog_id'];
$blog_abfrage = "SELECT * FROM blog WHERE id='$blog_id'";
$blog_ergebnis=mysql_db_query($db,$blog_abfrage,$verbindung);
while($row = mysql_fetch_object($blog_ergebnis))
{
$id = $row->id;
$titel=$row->titel;
$anlese=$row->anlese;
//{bild}bild_id,align{/bild}
//{galerie}tag1,tag2,tag3{/gallery}
$text=$row->text;
$text = preg_replace('#\{bild}(.*),(.*){/bild}#Uis', 'FunktionBild', $text);
$daten=explode(".",$row->datum);
if($daten[1]=="01"){$datum="$daten[0]. Januar $daten[2]";}
if($daten[1]=="02"){$datum="$daten[0]. Februar $daten[2]";}
if($daten[1]=="03"){$datum="$daten[0]. März $daten[2]";}
if($daten[1]=="04"){$datum="$daten[0]. April $daten[2]";}
if($daten[1]=="05"){$datum="$daten[0]. Mai $daten[2]";}
if($daten[1]=="06"){$datum="$daten[0]. Juni $daten[2]";}
if($daten[1]=="07"){$datum="$daten[0]. Juli $daten[2]";}
if($daten[1]=="08"){$datum="$daten[0]. August $daten[2]";}
if($daten[1]=="09"){$datum="$daten[0]. September $daten[2]";}
if($daten[1]=="10"){$datum="$daten[0]. Oktober $daten[2]";}
if($daten[1]=="11"){$datum="$daten[0]. November $daten[2]";}
if($daten[1]=="12"){$datum="$daten[0]. Dezember $daten[2]";}
$bild_id=$row->bild_id;
$bilder_abfrage = "SELECT * FROM galerie_bilder WHERE id='$bild_id'";
$bilder_ergebnis=mysql_db_query($db,$bilder_abfrage,$verbindung);
while($row = mysql_fetch_object($bilder_ergebnis))
{$url=$row->url;}
echo"<a href='index.php?section=bild&bild_id=$bild_id'><img src='bilder_bild.php?pfad=../privi/bilder/$url' class='bilder' alt='Fotografie - © Katrin Affolter' align='left'></a>
<b class='gross'>$titel</b> vom $datum
<br><b>$anlese</b>
<br>$text
";
}
echo"<br>";
?> |
|
http://web271.zeta.ibone.ch/test/index.p...log=1&blog_id=1
klappt nicht
zweite bild erscheint nicht... welches mit der funktion ausgegeben werden müsste... ideen?
|
|
30.06.2010 22:42 |
|
|
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
Auf die schnelle ist mir nicht viel aufgefallen.. abeeeeeer.. Wo wir hier von preg_replace_callback gesprochen haben,
php: |
1:
|
$text = preg_replace('#\{bild}(.*),(.*){/bild}#Uis', 'FunktionBild', $text); |
|
sollte das nicht preg_replace_callback heißen?
|
|
30.06.2010 23:10 |
|
|
Black Katrin

Mitglied
 
Dabei seit: 22.11.2005
Beiträge: 7.125
Herkunft: Schweiz
Themenstarter
 |
|
xD macht die sache nit besser...
php: |
1:
|
$text = preg_replace_callback('#\{bild}(.*),(.*){/bild}#Uis', 'FunktionBild(\1,\2)', $text); |
|
jegliche art die mir einfällt... es geht nit
ich bin zu doofe
|
|
30.06.2010 23:23 |
|
|
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
Hm. Probiers mal so:
php: |
1:
|
$text = preg_replace_callback('#\{bild}(.*),(.*){/bild}#Uis', 'FunktionBild', $text); |
|
Und die Funktion dazu:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
|
function FunktionBild($treffer) {
global $db, $verbindung; //notwendig!
$bild_id = $treffer[1];
$align = $treffer[2];
$bilder_abfrage = "SELECT * FROM galerie_bilder WHERE id='$bild_id'";
$bilder_ergebnis=mysql_db_query($db,$bilder_abfrage,$verbindung);
while($row = mysql_fetch_object($bilder_ergebnis))
{$url=$row->url;}
$link = "<a href='index.php?section=bild&bild_id=$bild_id'><img src='bilder_bild.php?pfad=../privi/bilder/$url' class='bilder' alt='Fotografie - © Katrin Affolter' align='$align'></a>";
return $link;
} |
|
Beachte das global $db, $verbindung, sonst hast du die Variablen nicht innerhalb der Funktion zur Verfügung.
EDIT: Falls auch das nicht geht, poste bitte die Fehlermeldungen, die bei diesem Code entstehen.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Oli: 30.06.2010 23:28.
|
|
30.06.2010 23:27 |
|
|
Black Katrin

Mitglied
 
Dabei seit: 22.11.2005
Beiträge: 7.125
Herkunft: Schweiz
Themenstarter
 |
|
es geht
keine ahnung wieso aber es klappt
bist mein held des tages!!!
|
|
30.06.2010 23:30 |
|
|
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
Zitat: |
Original von Black Katrin
es geht
keine ahnung wieso aber es klappt
bist mein held des tages!!! |
Wie ich geschrieben hatte. Dein Code war an sich richtig, du hattest nur nicht bedacht (oder vllt auch nicht gewusst), dass Variablen, die außerhalb einer Funktion existieren, nicht automatisch innerhalb einer Funktion vorhanden sind. Um diese Variablen zu erreichen, in deinem Fall $db und $verbindung (beide erforderlich, damit die Abfrage der Datenbank klappt), muss man sie vorher bei der Funktion "anmelden" (sie globalisieren).
|
|
30.06.2010 23:34 |
|
|
Black Katrin

Mitglied
 
Dabei seit: 22.11.2005
Beiträge: 7.125
Herkunft: Schweiz
Themenstarter
 |
|
jein... ich sollte es wissen
aber irgendwie... zuverwirrt aktuell wohl
|
|
30.06.2010 23:39 |
|
|
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
Macht nichts, wir haben den Fehler ja schließlich gefunden
|
|
30.06.2010 23:42 |
|
|
|
Impressum
|