• 16 odgovora
  • 8.451 pregleda
Prikaz samo djela adrese 12.07.2006. u 10:27 · pre 246 meseci #1
Pozdrav,

Kako npr. da u .php stranici koja sadrzava razlicite php ili html tagove npr. iz dijela "href"-a:

Code:
http://www.elitesecurity.org/poruka/novatema/12?refresh=MTE1MjY5NTk4OQ==


izvucem samo elitesecurity.org i da se to preko
Code:
print i/ili echo "";
ispise u stranici!? :)

Tnx
Potpis
"Q" 9G - Ponosni Titin pionir
Re: Prikaz samo djela adrese 12.07.2006. u 10:49 · pre 246 meseci #3
Code:
// get last two segments of host name
preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
echo "domain name is: {$matches[0]}\n";
?>

This example will produce:

domain name is: php.net


Tnx na brzom odgovoru :)
Potpis
"Q" 9G - Ponosni Titin pionir
Re: Prikaz samo djela adrese 12.07.2006. u 11:04 · pre 246 meseci #5
Možda može da ti koristi i funkcija parse_url()
Code:
<?php
    $url = parse_url("http://www.elitesecurity.org/p...ma/12?refresh=MTE1MjY5NTk4OQ==");
    echo $url[host];
?>

Ovo će da ispiše www.elitesecurity.org
Detaljnije... http://www.php.net/manual/en/function.parse-url.php

p0z
Re: Prikaz samo djela adrese 12.07.2006. u 11:08 · pre 246 meseci #6
JaHvram je u pravu...
Code:
$host = "www.sajt.co.yu";
preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
echo "domain name is: {$matches[0]}\n";

Rezultat:
Citat:
domain name is: co.yu

p0z
Re: Prikaz samo djela adrese 12.07.2006. u 13:45 · pre 246 meseci #7
Citat:
1r0nM4n: JaHvram je u pravu...
Code:
$host = "www.sajt.co.yu";
preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
echo "domain name is: {$matches[0]}\n";

Rezultat:
p0z



Zato ovako nekako treba da izgleda( trebalo bi da radi):

Code:

preg_match('/[^.]+\.[^.]+\.[^.]+$/', $host, $matches);
echo "domain name is: {$matches[0]}<br>";



Poz
sale
Potpis
Sto mozes danas ne ostavljaj za sutra!
Re: Prikaz samo djela adrese 12.07.2006. u 14:51 · pre 246 meseci #8
Code:
$links = Array('http://www.elitesecurity.org/p...ma/12?refresh=MTE1MjY5NTk4OQ==',
               'http://www.elitesecurity.org',
               'http://elitesecurity.org/',
               'www.elitesecurity.org',
               'elitesecurity.org',
               'http://www.elitesecurity.co.yu/test/',
               'http://elitesecurity.co.yu/test/'
               );

for($i = 0, $len = count($links); $i < $len; $i++) {
  preg_match("/^(http:\/\/)?(www.)?([^\/]+)/i", $links[$i], $matche);
  echo ($i+1) . '. ' . $matche[3] . '<br />';
}
Potpis
Banned - Not available
Re: Prikaz samo djela adrese 12.07.2006. u 15:49 · pre 246 meseci #9
Br@nkoR
Taj tvoj kod je dobar samo ako je link tipa https onda ti nece raditi .


Poz
sale

Potpis
Sto mozes danas ne ostavljaj za sutra!
Re: Prikaz samo djela adrese 12.07.2006. u 16:56 · pre 246 meseci #10
:) očekivao sam da će to neko napiše
Code:

$links = Array('http://www.elitesecurity.org/p...ma/12?refresh=MTE1MjY5NTk4OQ==',
               'https://www.elitesecurity.org',
               'http://elitesecurity.org/',
               'www.elitesecurity.org',
               'elitesecurity.org',
               'http://www.elitesecurity.co.yu/test/',
               'https://elitesecurity.co.yu/test/'
               );

for($i = 0, $len = count($links); $i < $len; $i++) {
  preg_match("/^(https?:\/\/|www\.)*([^\/]+)/i", $links[$i], $matche);
  echo ($i+1) . '. ' . $matche[2] . '<br />';
}


da li treba i za ftp, nntp, news, file, mailto ... ;)


Edit: zaboravio sam da backslash-ujem tačku

[Ovu poruku je menjao Br@nkoR dana 12.07.2006. u 18:21 GMT+1]
Potpis
Banned - Not available
Re: Prikaz samo djela adrese 17.07.2006. u 12:56 · pre 246 meseci #11
Hmmm, sad mi se pojavio drugi problem, doduse ovaj je ok rijesen, medjutim kako OVO isto uraditi za smarty php, tj npr. za varijablu:

Code:
{$link.URL|escape}

i za nju izdvojiti "domenu"!?

Tnx
Potpis
"Q" 9G - Ponosni Titin pionir
Re: Prikaz samo djela adrese 17.07.2006. u 14:15 · pre 246 meseci #12
Možeš napraviti nov modifikator, npr za kod koji sam ja postavio:
Code:
function smarty_modifier_cuturl($string) {
  preg_match("/^(https?:\/\/|www\.)*([^\/]+)/i", $string, $matche);
  return $matche[2];
}


i posle ideš:
Code:
{$link.URL|escape|cuturl}
Potpis
Banned - Not available
Re: Prikaz samo djela adrese 17.07.2006. u 14:35 · pre 246 meseci #13
A gde treba ubaciti (definisati) funkciju smarty_modifier_cuturl? Bilo gde ili treba "proširiti" klasu Smarty? Sorry, verovatno odgovor postoji u Smarty manual-u ali nisam radio sa Smarty-jem skorije :|
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Re: Prikaz samo djela adrese 17.07.2006. u 16:25 · pre 246 meseci #14
Npr. u folder plugins kreiraš fajl modifier.cuturl.php, i u njega staviš ovu funkciju.
A možeš imati i poseban folder u koji ćeš smeštati svoje modifikatore, funkcije (plugins)... ($plugins_dir)
Potpis
Banned - Not available
Re: Prikaz samo djela adrese 17.07.2006. u 17:08 · pre 246 meseci #16
Nema na čemu :)
Ovo sa zaboravio, da možeš i pomoću register_modifier:
Code:

function cuturl($string) {
  preg_match("/^(https?:\/\/|www\.)*([^\/]+)/i", $string, $matches);
  return $matches[2];
}

$smarty = new Smarty;
$smarty->register_modifier("cuturl", "cuturl"); 
$smarty->display('index.tpl');
Potpis
Banned - Not available
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme