2012-03-25 10 views
0

Ich habe meine URL-Struktur als www.site.com/listings/232-real-estate, wobei 232 die Kategorie ID und Immobilien als meine Kategorie ist.Rufen Sie nur die Kategorie ID aus URL

Ich möchte nur die numerische ID abrufen, die zum Extrahieren von Daten aus der Datenbank mit der Kategorie ID verwendet werden soll. Wie mache ich das?

+1

Ist die ID '232'? oder '23'? – huon

+0

@dbaupp, sorry, meine Frage bearbeitet. Die ID ist 232. – WebNovice

+0

Welche Sprache möchten Sie verwenden? PHP oder Awk ist auch in Ordnung? –

Antwort

1

Sie können etwas so einfaches wie verwenden:

<?php 
preg_match_all('#(\d+)#', $url, $matches); 
$catid = $matches[0]; 
?> 

Aber dies muss nicht ausreichende Kontrollen durchgeführt an seinem Platz. Idealerweise sollten Sie auf Basis von/spalten:

<?php 

$elements = explode('/',$url); 
$category = $elements[2]; 
$subelements = explode('-',$category); 
$categoryid = intval($subelements[0]); 

?> 
0

können Sie preg_replace verwenden:

id = preg_replace('/^.*\/([0-9]*)-[^\/]*$/','$1') 

Dies setzt voraus, dass die letzte / in der URL kurz vor der Kategorie-ID ist.

0

Wenn 232-real-estate in der Variablen gespeichert wird $var Sie die ID erhalten können mit:

$id = strtok($var, '-'); 

Im Übrigen ist es dann trivial, den Namen zu erhalten :

$name = strtok(''); // returns: estate-agent 
Verwandte Themen