Na lang zoeken ben ik er nog niet helemaal achter wat er misgaat in mijn stukje code.
Wat moet er eigenlijk gebeuren:
Ik wil gebruik maken van een tag zoals [image=2] waarbij het getal identificerend is voor de afbeelding die op die plaats moet komen te staan. Dus eigenlijk wil ik het getal in een string hebben om daarmee een query uit te kunnen voeren en dat dan ook nog eens tijdens de erego_replace. Ik neem aan dat het mogelijk is.
Nu heb ik:
Ik heb een stukje code gemaakt wat lijkt op wat ik nu heb alleen het geeft niet het gewenste resultaat. Als ik de $sql laat zien dan blijkt dat het getal waarnaar gezocht wordt niet klopt, dat is namelijk "\1" en niet bijvoorbeeld een 2. Het vreemde is dat als ik de $string door een return laat zien dat het ineens wél gewoon de gewenste 2 is. Wat doe ik hier fout of zie ik over het hoofd?
Mijn excuses als het wat warrig overkomt, ik kan het niet echt beter uitleggen.
Wat moet er eigenlijk gebeuren:
Ik wil gebruik maken van een tag zoals [image=2] waarbij het getal identificerend is voor de afbeelding die op die plaats moet komen te staan. Dus eigenlijk wil ik het getal in een string hebben om daarmee een query uit te kunnen voeren en dat dan ook nog eens tijdens de erego_replace. Ik neem aan dat het mogelijk is.
Nu heb ik:
Ik heb een stukje code gemaakt wat lijkt op wat ik nu heb alleen het geeft niet het gewenste resultaat. Als ik de $sql laat zien dan blijkt dat het getal waarnaar gezocht wordt niet klopt, dat is namelijk "\1" en niet bijvoorbeeld een 2. Het vreemde is dat als ik de $string door een return laat zien dat het ineens wél gewoon de gewenste 2 is. Wat doe ik hier fout of zie ik over het hoofd?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| function Plaatje($string) { $sql="SELECT DISTINCT img_filename from tblimage WHERE img_id = '$string'"; $result= mysql_query("$sql")or die("Connect Error: ".mysql_error()); while ($row = mysql_fetch_array($result)) { $file = $row['img_filename']; } mysql_free_result($result); $result = "[img]\"../images/markup/".$file."\"[/img]"; return $result; } $text = "Blaat [image=1] Ja blah [image=4] blah."; $result = eregi_replace("\\[image=([^\\[]*)\]", Plaatje('\\1'), $text); |
Mijn excuses als het wat warrig overkomt, ik kan het niet echt beter uitleggen.
[ Voor 7% gewijzigd door MaNdM op 27-12-2004 15:26 ]
To be determined...