URL-adres
#http://www.imdb.com/title/tt0173943/#
(ik heb het geëxporteerd vanuit access' mdb-bestand naar .csv-bestand en die importeer ik dan via MySQL-Front in de MySQL-db)
Hoe krijg ik het zo dat de 2 haakjes (#) eruit gehaald worden en het een klikbare link wordt?
dus zoiets:
http://www.imdb.com/title/tt0173943/
dit is een gedeelte uit het script:
Code (php)
mochten er meer gegevens nodig zijn, dan hoor ik het wel.
Alvast bedankt voor de moeite!
Gewijzigd op 10/09/2004 22:33:00 door John de Boer
Code (php)
1
2
3
2
3
<?php
$link = preg_replace('|#(.+?)#|i','<a target="_blank" href"\\1">\\1</a>',$row[$i]);
?>
$link = preg_replace('|#(.+?)#|i','<a target="_blank" href"\\1">\\1</a>',$row[$i]);
?>
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$link = "#http://www.imdb.com/title/tt0173943/#";
$link = preg_replace('|#(.+?)#|i','<a target="_blank" href"\\1">\\1</a>',$row[$i]);
echo $link;
?>
$link = "#http://www.imdb.com/title/tt0173943/#";
$link = preg_replace('|#(.+?)#|i','<a target="_blank" href"\\1">\\1</a>',$row[$i]);
echo $link;
?>
verschijnt er nix in mn venster.
Moet je $row[$i] ook wel in $link veranderen natuurlijk in je testscriptje.
maar als ik het scriptje dan zo heb:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$link = "#http://www.imdb.com/title/tt0173943/#";
$link = preg_replace('|#(.+?)#|i','<a target="_blank" href"\\1">\\1</a>',$link);
echo $link;
?>
$link = "#http://www.imdb.com/title/tt0173943/#";
$link = preg_replace('|#(.+?)#|i','<a target="_blank" href"\\1">\\1</a>',$link);
echo $link;
?>
dan zijn de haakjes wel verdwenen maar is het nog geen klikbare link... :-s
ik ben nog niet zo thuis in PCRE
Gewijzigd op 12/09/2004 22:40:00 door John de Boer
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$link = "#http://www.imdb.com/title/tt0173943/#";
$link = preg_replace('|#(.+?)#|i','<a target="_blank" href="\\1">\\1</a>',$link);
echo $link;
?>
$link = "#http://www.imdb.com/title/tt0173943/#";
$link = preg_replace('|#(.+?)#|i','<a target="_blank" href="\\1">\\1</a>',$link);
echo $link;
?>
ik was de = na href vergeten
hehe, zelf ook over t hoofd gezien :P
als ik het in een klein scriptje run (zoals hierboven) doet ie precies wat ik wil, maar als ik um dan importeer in het uiteindelijke script heeft t geen effect
Code (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
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
<?php
...
// create table body
while ($row = mysql_fetch_row($result))
{
echo "<tr align=left valign=top>\n";
for ($i=1; $i<$num_fields; $i++)
{
echo "<td bgcolor=#FFFFFF>";
if (!isset($row[$i])) // test for null value
{echo "NULL";}
else
...
}elseif ($i == 30) { // link
if ($row[$i] == "" or $row[$i] == "NULL") {
echo "";
}else{
$link = $row[$i];
$link = preg_replace('|#(.+?)#|i','<a target="_blank" href="\\1">\\1</a>',$link);
echo $link;
}
...
}else{
echo $row[$i];
}
echo "</td>\n";
}
echo "</tr>\n";
}
// end table body
echo "</table>";
?>
...
// create table body
while ($row = mysql_fetch_row($result))
{
echo "<tr align=left valign=top>\n";
for ($i=1; $i<$num_fields; $i++)
{
echo "<td bgcolor=#FFFFFF>";
if (!isset($row[$i])) // test for null value
{echo "NULL";}
else
...
}elseif ($i == 30) { // link
if ($row[$i] == "" or $row[$i] == "NULL") {
echo "";
}else{
$link = $row[$i];
$link = preg_replace('|#(.+?)#|i','<a target="_blank" href="\\1">\\1</a>',$link);
echo $link;
}
...
}else{
echo $row[$i];
}
echo "</td>\n";
}
echo "</tr>\n";
}
// end table body
echo "</table>";
?>
Weet niet of er wat in je else staat, maar de else hoort dan wel onderaan. Eerst als, dan anders als, dan anders. Nu heb je als, anders, anders als dat werkt niet :)
zie hier maar eens:
Code (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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
<?php
// create table header
echo "<table border=1 bgcolor=#ECE9D8 color=#000000 cellpadding=2>";
#echo "<td colspan=$num_fields align=center valign=middle bgcolor=#ECE9D8><font color=#0000FF><h2>FilmArchief</h2></font></td>";
echo "<tr>";
for ($i=1; $i<$num_fields; $i++)
{
echo "<th>";
echo mysql_field_name($result, $i);
echo "</th>";
}
echo "</tr>";
// end table header
// create table body
while ($row = mysql_fetch_row($result))
{
echo "<tr align=left valign=top>\n";
for ($i=1; $i<$num_fields; $i++)
{
echo "<td bgcolor=#FFFFFF>";
if (!isset($row[$i])) // test for null value
{echo "NULL";}
else
if ($i == 1) { // titel
echo "<b><font align=center valign=middle>" . $row[$i] . "</font></b>";
}elseif ($i == 5) { // waardering
if ($row[$i] == "*****") {
echo "<img src=\"Kijkwijzer/stars-5.gif\">";
}elseif ($row[$i] == "****") {
echo "<img src=\"Kijkwijzer/stars-4.gif\">";
}elseif ($row[$i] == "***") {
echo "<img src=\"Kijkwijzer/stars-3.gif\">";
}elseif ($row[$i] == "**") {
echo "<img src=\"Kijkwijzer/stars-2.gif\">";
}elseif ($row[$i] == "*") {
echo "<img src=\"Kijkwijzer/stars-1.gif\">";
}else{
echo $row[$i];
}
}elseif ($i == 6) { // leeftijd
if ($row[$i] == "AL") {
echo "<img src=\"Kijkwijzer/AL.gif\" width=20 height=20>";
}elseif ($row[$i] == "6 (MG)") {
echo "<img src=\"Kijkwijzer/6%20(MG).gif\" width=20 height=20>";
}elseif ($row[$i] == "12") {
echo "<img src=\"Kijkwijzer/12.gif\" width=20 height=20>";
}elseif ($row[$i] == "16") {
echo "<img src=\"Kijkwijzer/16.gif\" width=20 height=20>";
}else{
echo $row[$i];
}
}elseif ($i == 7) { // min(uten)
if ($row[$i] == "0") {
echo "";
}else{
echo $row[$i];
}
}elseif ($i == 12) { // zwart_wit
if ($row[$i] == "1" or $row[$i] == "yes") {
echo "<img src=\"Kijkwijzer/zwartwit.gif\" width=25 height=15>";
#echo "Ja";
}else{
echo "";
}
}elseif ($i == 13) { // stereo
if ($row[$i] == "1" or $row[$i] == "yes") {
echo "<img src=\"Kijkwijzer/stereo.gif\" width=20 height=15>";
#echo "Ja";
}else{
echo "";
}
}elseif ($i == 14) { // dolby
if ($row[$i] == "1" or $row[$i] == "yes") {
echo "<img src=\"Kijkwijzer/dolby.gif\" width=18 height=18>";
#echo "Ja";
}else{
echo "";
}
}elseif ($i == 15) { // breedbeeld
if ($row[$i] == "1" or $row[$i] == "yes") {
echo "<img src=\"Kijkwijzer/breedbeeld.gif\" width=25 height=15>";
#echo "Ja";
}else{
echo "";
}
}elseif ($i == 16) { // TVF(ilm)
if ($row[$i] == "1" or $row[$i] == "yes") {
echo "<img src=\"Kijkwijzer/TVFilm.gif\" width=25 height=25>";
#echo "Ja";
}else{
echo "";
}
}elseif ($i == 17) { // uitgezonden
// Zet ze in een array
$items = explode("-", $row[$i]);
// Nu de dag erbij halen :D
$datum = date("l, j F Y", mktime(0, 0, 0, $items[1], $items[2], $items[0] ));
// Dit geeft dan bv: Saturday, 22 May 2004
echo $datum;
if (empty($datum)) { echo $row[$i]; }
}elseif ($i == 18) { // tijd
$time = explode(":",$row[$i]);
$tijd = $time['0'] . ":" . $time['1'];
echo $tijd;
}elseif ($i == 20) { // NL_TV
if ($row[$i] == "0000-00-00") {
echo "";
}else{
// Zet ze in een array
$items = explode("-", $row[$i]);
// Nu de dag erbij halen :D
$datum = date("l, j F Y", mktime(0, 0, 0, $items[1], $items[2], $items[0]));
// Dit geeft dan bv: Saturday, 22 May 2004
echo $datum;
if (empty($datum)) { echo $row[$i]; }
}
}elseif ($i >= 21 and $i <= 23) { // filmkompas ... gegevens_nodig
if ($row[$i] == "1" or $row[$i] == "yes") {
echo "Ja";
}else{
echo "";
}
}elseif ($i >= 25 and $i <= 29) { // samenvatting ... minpluspunten
if ($row[$i] == "NULL") {
echo "";
}else{
echo $row[$i];
}
}elseif ($i == 30) { // link
if ($row[$i] == "" or $row[$i] == "NULL") {
echo "";
}else{
$link = $row[$i];
$link = preg_replace('|#(.+?)#|i','<a target="_blank" href="\\1">\\1</a>',$link);
echo $link;
}
}elseif ($i == 31) { // IMDb-cijfer
if ($row[$i] == "NULL") {
echo "";
}else{
echo $row[$i];
}
}elseif ($i == 32) { // FilmArchief-cijfer
if ($row[$i] == "NULL") {
echo "";
}else{
echo $row[$i];
}
}else{
echo $row[$i];
}
echo "</td>\n";
}
echo "</tr>\n";
}
// end table body
echo "</table>";
// verbinding afsluiten
mysql_close($db);
} else {
/*
*************************
* zoek-criteria opgeven *
* (via formulier) *
*************************
*/
?>
// create table header
echo "<table border=1 bgcolor=#ECE9D8 color=#000000 cellpadding=2>";
#echo "<td colspan=$num_fields align=center valign=middle bgcolor=#ECE9D8><font color=#0000FF><h2>FilmArchief</h2></font></td>";
echo "<tr>";
for ($i=1; $i<$num_fields; $i++)
{
echo "<th>";
echo mysql_field_name($result, $i);
echo "</th>";
}
echo "</tr>";
// end table header
// create table body
while ($row = mysql_fetch_row($result))
{
echo "<tr align=left valign=top>\n";
for ($i=1; $i<$num_fields; $i++)
{
echo "<td bgcolor=#FFFFFF>";
if (!isset($row[$i])) // test for null value
{echo "NULL";}
else
if ($i == 1) { // titel
echo "<b><font align=center valign=middle>" . $row[$i] . "</font></b>";
}elseif ($i == 5) { // waardering
if ($row[$i] == "*****") {
echo "<img src=\"Kijkwijzer/stars-5.gif\">";
}elseif ($row[$i] == "****") {
echo "<img src=\"Kijkwijzer/stars-4.gif\">";
}elseif ($row[$i] == "***") {
echo "<img src=\"Kijkwijzer/stars-3.gif\">";
}elseif ($row[$i] == "**") {
echo "<img src=\"Kijkwijzer/stars-2.gif\">";
}elseif ($row[$i] == "*") {
echo "<img src=\"Kijkwijzer/stars-1.gif\">";
}else{
echo $row[$i];
}
}elseif ($i == 6) { // leeftijd
if ($row[$i] == "AL") {
echo "<img src=\"Kijkwijzer/AL.gif\" width=20 height=20>";
}elseif ($row[$i] == "6 (MG)") {
echo "<img src=\"Kijkwijzer/6%20(MG).gif\" width=20 height=20>";
}elseif ($row[$i] == "12") {
echo "<img src=\"Kijkwijzer/12.gif\" width=20 height=20>";
}elseif ($row[$i] == "16") {
echo "<img src=\"Kijkwijzer/16.gif\" width=20 height=20>";
}else{
echo $row[$i];
}
}elseif ($i == 7) { // min(uten)
if ($row[$i] == "0") {
echo "";
}else{
echo $row[$i];
}
}elseif ($i == 12) { // zwart_wit
if ($row[$i] == "1" or $row[$i] == "yes") {
echo "<img src=\"Kijkwijzer/zwartwit.gif\" width=25 height=15>";
#echo "Ja";
}else{
echo "";
}
}elseif ($i == 13) { // stereo
if ($row[$i] == "1" or $row[$i] == "yes") {
echo "<img src=\"Kijkwijzer/stereo.gif\" width=20 height=15>";
#echo "Ja";
}else{
echo "";
}
}elseif ($i == 14) { // dolby
if ($row[$i] == "1" or $row[$i] == "yes") {
echo "<img src=\"Kijkwijzer/dolby.gif\" width=18 height=18>";
#echo "Ja";
}else{
echo "";
}
}elseif ($i == 15) { // breedbeeld
if ($row[$i] == "1" or $row[$i] == "yes") {
echo "<img src=\"Kijkwijzer/breedbeeld.gif\" width=25 height=15>";
#echo "Ja";
}else{
echo "";
}
}elseif ($i == 16) { // TVF(ilm)
if ($row[$i] == "1" or $row[$i] == "yes") {
echo "<img src=\"Kijkwijzer/TVFilm.gif\" width=25 height=25>";
#echo "Ja";
}else{
echo "";
}
}elseif ($i == 17) { // uitgezonden
// Zet ze in een array
$items = explode("-", $row[$i]);
// Nu de dag erbij halen :D
$datum = date("l, j F Y", mktime(0, 0, 0, $items[1], $items[2], $items[0] ));
// Dit geeft dan bv: Saturday, 22 May 2004
echo $datum;
if (empty($datum)) { echo $row[$i]; }
}elseif ($i == 18) { // tijd
$time = explode(":",$row[$i]);
$tijd = $time['0'] . ":" . $time['1'];
echo $tijd;
}elseif ($i == 20) { // NL_TV
if ($row[$i] == "0000-00-00") {
echo "";
}else{
// Zet ze in een array
$items = explode("-", $row[$i]);
// Nu de dag erbij halen :D
$datum = date("l, j F Y", mktime(0, 0, 0, $items[1], $items[2], $items[0]));
// Dit geeft dan bv: Saturday, 22 May 2004
echo $datum;
if (empty($datum)) { echo $row[$i]; }
}
}elseif ($i >= 21 and $i <= 23) { // filmkompas ... gegevens_nodig
if ($row[$i] == "1" or $row[$i] == "yes") {
echo "Ja";
}else{
echo "";
}
}elseif ($i >= 25 and $i <= 29) { // samenvatting ... minpluspunten
if ($row[$i] == "NULL") {
echo "";
}else{
echo $row[$i];
}
}elseif ($i == 30) { // link
if ($row[$i] == "" or $row[$i] == "NULL") {
echo "";
}else{
$link = $row[$i];
$link = preg_replace('|#(.+?)#|i','<a target="_blank" href="\\1">\\1</a>',$link);
echo $link;
}
}elseif ($i == 31) { // IMDb-cijfer
if ($row[$i] == "NULL") {
echo "";
}else{
echo $row[$i];
}
}elseif ($i == 32) { // FilmArchief-cijfer
if ($row[$i] == "NULL") {
echo "";
}else{
echo $row[$i];
}
}else{
echo $row[$i];
}
echo "</td>\n";
}
echo "</tr>\n";
}
// end table body
echo "</table>";
// verbinding afsluiten
mysql_close($db);
} else {
/*
*************************
* zoek-criteria opgeven *
* (via formulier) *
*************************
*/
?>
(hier het HTML-formulier)
het gaat eigenlijk alleen om dit gedeelte:
Code (php)
Gewijzigd op 13/09/2004 18:51:00 door John de Boer
switch() :)
Je zegt dus...als $i 30 is en $row[$i] leeg is of letterlijk NULL is (dus iets anders dan niet ingevuld) moet er niets ge-echo'd worden..
Is zoiets niet handiger:
Voor al die elseif-combinaties onderaan is een functie gemaakt, Je zegt dus...als $i 30 is en $row[$i] leeg is of letterlijk NULL is (dus iets anders dan niet ingevuld) moet er niets ge-echo'd worden..
Is zoiets niet handiger:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?
...
elseif($i == 30 && !empty($row[$i])) {
echo preg_replace('|#(.+?)#|i','<a target="_blank" href="\\1">\\1</a>', $row[$i]);
}
...
?>
...
elseif($i == 30 && !empty($row[$i])) {
echo preg_replace('|#(.+?)#|i','<a target="_blank" href="\\1">\\1</a>', $row[$i]);
}
...
?>
Gewijzigd op 13/09/2004 21:16:00 door dutchcamel
hij moet alleen de link tonen als er 1 instaat en anders niets.
en ik neem het script toch wel onder handen, switch is idd een beter idee, wordt het overzichtelijker van :)