Hallo PHPhulp,

Ik heb een probleempje met het controleren van een url.
Ik heb een kleine achterkant gebouwd om gegevens in te vullen, waaronder een url.

Soms wordt http niet ingevuld in de achterkant.

Ik wil de link dus controleren of deze begint met http://.

Ik had dit geprobeerd:

<?php
if($record['url'] == ''){
		$twlink = '-';
}else{
	if($record['url'] !== 'http://%'){
	     $record['url'] = 'http://'.$record['url'];
	}
	$twlink = '<a href="'.$record['url'].'" target="_blank">url</a>';

}
?>


Dit werkte niet hij printte altijd http:// ervoor dus de links klopte niet.

Nu heb ik dit geprobeerd en hetzelfde resultaat:


<?php
if($record['url'] == ''){
	$cwlink = '-';
}else{
	$mystring = $record['url'];
	$findme   = 'http://';
	$pos = strpos($mystring, $findme);
					
	if ($pos !== false) {
	$record['url'] = 'http://'.$record['url'];
        }

$cwlink = '<a href="'.$record['url'].'" target="_blank">Click</a>';
					
	}
?>


Zien jullie wat ik verkeerd doe? is er nog een andere functie die ik kan gebruiken dan strpos?

Alvast bedankt!

Groetjes Mark
voor mijn url validator gebruik ik:

<?
if($_POST['url']){
	$pos = strpos ($_POST['url'], "http");
	if ($pos === false){
		$_POST['url'] = "http://".$_POST['url'];
	}
	if (!preg_match("#^http(s)?://[a-z0-9-_.]+\.[a-z]{2,4}#i",$_POST['url'])) {
		//invalid
	}
	else{
		//valid	
	}
}
?>
In je eerste script: Wat doe die % op regel 5?
En bedoel je niet iets met substr()?
@Gerhard, ik ga die van jou zo proberen, dankjewel
@SanThe is dat niet dat het het begint met http:// en dan % is alles wat erachter komt?
Mark H op 22/01/2012 16:26:16

@SanThe is dat niet dat het het begint met http:// en dan % is alles wat erachter komt?


Nee. Dat is zo bij LIKE in mysql.
Ok dan is het logisch dat die niet werkt. ik ga nu proberen om het werkend te krijgen.

[size=xsmall]Toevoeging op 22/01/2012 16:44:30:[/size]

dankjewel Gerhard, het is gelukt met jouw code!

Reageren