betekenis van echo $url[$i] output.
vb. script
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for ($i=0; $i < $num ; $i++) {
if (filter_var($url[$i], FILTER_VALIDATE_URL) === false)
{
echo 'linknummer : '. $i . ' heeft de waarde : ' . $url;
echo '<br><br> ';
echo ' dit is de waarde van url/i string : ' . $url[$i];
echo '<br><br> ';
echo "</center>";
}
if (filter_var($url[$i], FILTER_VALIDATE_URL) === false)
{
echo 'linknummer : '. $i . ' heeft de waarde : ' . $url;
echo '<br><br> ';
echo ' dit is de waarde van url/i string : ' . $url[$i];
echo '<br><br> ';
echo "</center>";
}
Wat betekent de waarde h of t hier?
Is dit correct en hoe kan ik er mee omgaan als ik een string of reeks waarde los op URL geldigheid wil testen met FILTER_VALIDATE_URL?
Gewijzigd op 03/10/2015 16:22:23 door Johan West
Waarschijnlijk is $url geen array maar een string.
de vlg is wel een array (dwz is niet geïmplodeerd)
volstaat dit om alle ongeldige URL's uit deze array te halen?
Johan West op 03/10/2015 17:39:15:
Deze code valideerd of het een geldige url is, er zijn tekens die niet geldig zijn in een url. Waarom je de waardes h en t heb is omdat url waarschijnlijk geen array is.
Code (php)
Wat jouw code doet is niets, het is verkeerd geschreven aangezien filter_var() een volledige url vraagt en krijgt maar 1 karakter dus valideert altijd naar "false".
Gewijzigd op 03/10/2015 18:24:54 door Johan K
Johan K op 03/10/2015 18:17:01:
Deze code valideerd of het een geldige url is, er zijn tekens die niet geldig zijn in een url. Waarom je de waardes h en t heb is omdat url waarschijnlijk geen array is.
Wat jouw code doet is niets, het is verkeerd geschreven aangezien filter_var() een volledige url vraagt en krijgt maar 1 karakter dus valideert altijd naar "false".
Johan West op 03/10/2015 17:39:15:
Deze code valideerd of het een geldige url is, er zijn tekens die niet geldig zijn in een url. Waarom je de waardes h en t heb is omdat url waarschijnlijk geen array is.
Code (php)
Wat jouw code doet is niets, het is verkeerd geschreven aangezien filter_var() een volledige url vraagt en krijgt maar 1 karakter dus valideert altijd naar "false".
OK, ik zie nu hoe php hiermee omgaat. Maar ik wil dat mbv FILTER_VALIDATE_URL een array van webadressen wordt doorlopen.
De foute moeten eruitgehaald worden. De gebruiker moet dit opnieuw invullen.
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$urls = [
'http://google.nl',
'http://www.phphulp.nl',
'http://www.tweakers.net'
];
foreach($urls as $key => $url){
if(filter_var($url, FILTER_VALIDATE_URL)){
$link[] = $url;
$invalidkeys[] = $key;
echo "$url is valid";
} else {
echo "$url is not valid";
}
}
print_r($link);
foreach($invalidkeys as $val){
echo "deze url is ongeldig: {$urls[$val]}";
}
?>
$urls = [
'http://google.nl',
'http://www.phphulp.nl',
'http://www.tweakers.net'
];
foreach($urls as $key => $url){
if(filter_var($url, FILTER_VALIDATE_URL)){
$link[] = $url;
$invalidkeys[] = $key;
echo "$url is valid";
} else {
echo "$url is not valid";
}
}
print_r($link);
foreach($invalidkeys as $val){
echo "deze url is ongeldig: {$urls[$val]}";
}
?>
Gewijzigd op 03/10/2015 19:00:49 door Johan K
Neen.
Mogelijk is de werking ondertussen veranderd, maar levert dus false negatives en laat mogelijk gevaarlijke zaken door.