|
|
|
| Подскажите, где взять код для замены всех этих тэгов в форумах на нормальные html-тэги.
Я вот написал, но мне не особо нравится, может есть получше?
function url_replace($a)
{
$start_pos=0;
$link_num=0;
$url1=0;
$url2=0;
$url3=0;
while($pos1 !== false)
{
$pos1 = strpos($a,"[URL='",$start_pos);
if($pos1 !== false)
{
$url1++;
$start_pos = $pos1+1;
$pos2_old = $pos2;
$pos2 = strpos($a,"']",$pos1+5);
if($pos2 === false || $pos2 == $pos2_old)
{
break;
}
$url2++;
$pos3_old = $pos3;
$pos3 = strpos($a,"[/URL]",$pos2+1);
if($pos3 === false || $pos3 == $pos3_old)
{
break;
}
$url3++;
$link[$link_num]["url"] = substr($a,$pos1+6,$pos2-$pos1-6);
$link[$link_num]["desc"] = substr($a,$pos2+2,$pos3-$pos2-2);
$link[$link_num]["step1"] = $pos1;
$link[$link_num]["step2"] = $pos3+6;
$link_num++;
}
}
if($url1 == $url2 && $url1 == $url3 && $url1 != 0)
{
$a_done = substr($a,0,$link[0]["step1"]);
for($i=0;$i<count($link);$i++)
{
$needed = "<a target='_blank' href='".$link[$i]["url"]."'>".$link[$i]["desc"]."</a>";
$a_done .= $needed;
if($i<count($link)-1)
{
$a_done .= substr($a,$link[$i]["step2"],$link[$i+1]["step1"]-$link[$i]["step2"]);
}
else
{
$a_done .= substr($a,$link[$i]["step2"],strlen($a)-$link[$i]["step2"]);
}
}
}
else
{
$a_done = $a;
}
return $a_done;
}
|
| |
|
|