Ако линка не води към моят сайт

kWo_2

Registered
Дали има възможност, ако в даде текст има линк и той не води към моят сайт, то тогава да сложа определен class на него. :? Търсих из темите в форума, но не успях да намеря нищо по тази тема.
 
PHP:
$text='tova e teksta s http://web-tourist.net linka';  //текста
$mydom='http://my_domein.com';  //Твоят домейн


$linkc=explode(" ", $text);

$thetext=array();
foreach($linkc as $link){

if(stristr($link, 'http://') && $link != $mydom)
   {
$link="<div class='other_link'>".$link."</div>";
   }
$thetext[]=$link;
}
$newtext=implode(" ", $thetext);


//И тук показваме вече новият текст

echo $newtext;
 
Ако линка е от тъпа "http://web-tourist.net/asd" не се получава, както и не мога да сложа клас на линк-а, в момента е простив div пред него :)
 
Ето тука се задава класа.
PHP:
$link="<div class='other_link'>".$link."</div>";

Както и да ти е линка ще работи, стига да няма празни пространства в него.


------------------
Пробвай като заместиш stristr с strstr .
 
Аа, разбрахте какво питаш, ето ти кода който трябва да ти работи вече : ))

Сега чуждите линкове стават болднати и наклонени.

PHP:
<?php
//текста
$text='tova e teksta s http://web-tourist.net/smth linka tova e http://my_domein.com/smth moqt domein nqkoj drug link http://google.bg';  

//Твоят домейн
$mydom='my_domein.com';  


$linkc=explode(" ", $text);

$thetext=array();
foreach($linkc as $link){

if(strstr($link, 'http://') && !strstr($link, $mydom))
   {
$link="<b><i>".$link."</i></b>";
   }
$thetext[]=$link;
}
$newtext=implode(" ", $thetext);


//И тук показваме вече новият текст

echo $newtext;
?>
 
eddyy93 каза:
Аа, разбрахте какво питаш, ето ти кода който трябва да ти работи вече : ))

Сега чуждите линкове стават болднати и наклонени.

PHP:
<?php
//текста
$text='tova e teksta s http://web-tourist.net/smth linka tova e http://my_domein.com/smth moqt domein nqkoj drug link http://google.bg';  

//Твоят домейн
$mydom='my_domein.com';  


$linkc=explode(" ", $text);

$thetext=array();
foreach($linkc as $link){

if(strstr($link, 'http://') && !strstr($link, $mydom))
   {
$link="<b><i>".$link."</i></b>";
   }
$thetext[]=$link;
}
$newtext=implode(" ", $thetext);


//И тук показваме вече новият текст

echo $newtext;
?>

По-добре ползвай parse_url() много по ефикасна е. Макар че, скрипта би се улеснил доста повече с preg_replace() като се сложи модификатор e.
 
Ех, хубаво нещо е помоща!
Благодаря :)

А, да.. линковете ми са от типа на
Код:
[url]http://web-tourist.net[/url]
[url=http://web-tourist.net]WebTourist[/url]

когато са по този начин как мога да наглася кода, тоест, когато имам:
Код:
[url=http://web-tourist.net]WebTourist[/url]
то пак да си излезе по този начин с името WebTourist

:lol:
 
Цялото
Код:
[url=http://web-tourist.net]WebTourist[/url]
излиза като линк, а трябва да стане пак WebTourist като има зададено име
:) просто иначе няма как да наместа този код в новината. Линковете са ми по този начин с bbcode в DB
 

Горе