PDA

View Full Version : حذف متن از لینک



nsco_nsco
شنبه 09 آذر 1392, 21:16 عصر
سلام دوستان یک سوال داشتم من یک متغییر دارم که داخلش لینکی هست البته هر بار تغییر می کند به غیر از این لینک یک سری متون هست که اون هم تغییر می کند هر بار یعنی بعنی داخل این متغییر هم متن داریم هم یک لینک می خواستم بدونم چطور می تونم این دو تارا از هم جدا کنم من کار متغییرها دارم اما نمی دونم چطور جدا کنم که اون متن حذف بشه و تنها لینک بمونه با تشکر از شما دوستان ممنون میشوم راهنمایی کنید و یا دستوری دارد بگید با تشکر ( من تنها لینک برام مهم هست ) :چشمک:

abolfazl-z
شنبه 09 آذر 1392, 21:28 عصر
یک نمونه بزارید.

nsco_nsco
شنبه 09 آذر 1392, 21:34 عصر
سلا م ممنونم این نومنه :


این لینک که می بینید http://www.dom.com

مثلا در همون متغییر یکی دیگه این طوری


همان طور که گفته شد http://www.hsdhadghjhdsf.go.bd

یا


همان طور که گفته شد این نوعhttp://www.hsdhadghjhdsf.go.bd از ادرس ها

هر بار متغییر هست آدرس و حتی نوشته تنها لینک ها مورد نیاز هست ممنون

در نظر بگیرید امکان داره متن هم به صورت انگلیسی هم باشد . با تشکر

abolfazl-z
شنبه 09 آذر 1392, 21:58 عصر
بفرمایید :

<?php
function getLink($link)
{
if(preg_match('/.*(http:\/\/|www\.|http:\/\/www\.)([0-9a-z_\.]{1,}).*/',$link,$r))
return $r[1].$r[2];
else
return false;
}
$n = 'این لینک که می بینید http://www.dom.com';
$n2 = 'همان طور که گفته شد http://www.hsdhadghjhdsf.go.bd ';
$n3 = 'همان طور که گفته شد این نوعhttp://www.hsdhadghjhdsf.go.bd از ادرس ها ';
echo getLink($n).'<br>';
echo getLink($n2).'<br>';
echo getLink($n3);
?>

nsco_nsco
شنبه 09 آذر 1392, 22:04 عصر
مرسی ممنونم واقعا لطف کردید اگر لینک ها www نداشته باشه هم این کار می کنه یا http ?

nsco_nsco
شنبه 09 آذر 1392, 22:07 عصر
دوست من تستش کردم یک مشکل داره این ها رو نباید حذف کنه فقط متون رو باید حذف کنه http://www.

اصلا نباید لینک رو کاری داشته باشد تنها متن را باید پا ک کند چ فارسی چ انگلیسی باشد ممنون میشم کمک کنید واقعا هم ممنونم از کمکتون

abolfazl-z
شنبه 09 آذر 1392, 22:31 عصر
لینک های زیر را پشتیبانی میکند :

http://www.example.com
http://example.com
www.example.com
+ subdomain

راستی تابع ویرایش شد.

abolfazl-z
شنبه 09 آذر 1392, 22:33 عصر
اصلا نباید لینک رو کاری داشته باشد تنها متن را باید پا ک کند چ فارسی چ انگلیسی باشد ممنون میشم کمک کنید واقعا هم ممنونم از کمکتون
عجب بالا میگویید من تنها لینک برام مهم هست

nsco_nsco
شنبه 09 آذر 1392, 23:18 عصر
سلام ممنونم از پاسختون الان مشکلی که من می گم اینه
این رو مثلا هست لینک



http://www.cbi.ir/showitem/ با سلام

خروجی با این تابع میشه این



www.cbi.ir


در صورتی که باید بشه این


http://www.cbi.ir/showitem/


ممنون میشم راهنمایی کنید با تشکر

abolfazl-z
شنبه 09 آذر 1392, 23:25 عصر
<?php
function getLink($link)
{
if(preg_match('/.*(http:\/\/|www\.|http:\/\/www\.)([0-9a-z_\.\/]{1,}).*/',$link,$r))
return $r[1].$r[2];
else
return false;
}
$n = 'این لینک که می بینید http://www.as.com/asdad/asd/asd';
$n2 = 'همان طور که گفته شد http://ali.hsdhadghjhdsf.go.bd/asd ';
$n3 = 'همان طور که گفته شد این نوعhttp://www.hsdhadghjhdsf.go.bd/asda asdas';
echo getLink($n).'<br>';
echo getLink($n2).'<br>';
echo getLink($n3);
?>

nsco_nsco
شنبه 09 آذر 1392, 23:28 عصر
سلام واقعا ممنون هستم بدرستی کار کرد بازم ممنون

nsco_nsco
یک شنبه 10 آذر 1392, 00:19 صبح
سلام هنوز یک مشکل توش صادق هست این لینک رو ببینید


http://www.hsdhadghjhdsf.go.bd/fot/g/ddd.jpg


ما اگر مثلا لینک بالا را داشته باشیم خروجیش این رو میزنه با این فانکشن :


http://www.hsdhadghjhdsf.go.bd/fot/


این نکته هم هست که هر لینک امکان داره در ده ها زیر شاخه باشه و متغییر هست این موضوع ممنون یمشوم کمک کنید با تشکر .

nsco_nsco
یک شنبه 10 آذر 1392, 10:37 صبح
دوستان ممنون میشوم یک راهنمایی بکنید با تشکر

MMSHFE
یک شنبه 10 آذر 1392, 11:05 صبح
اینو تست کنید:


function links($text) {
$matches = array();
preg_match_all('#(http(s)?://[^\s]+)#i', $text, $matches);
return count($matches) > 0 ? $matches[0] : $matches;
}

$text = 'این یک لینک تست است. http://www.hsdhadghjhdsf.go.bd/fot/g/ddd.jpg متوجه شدید؟';
$text .= 'این یک لینک تست است. http://www.barnamenevis.org متوجه شدید؟';
echo '<pre>' . print_r(links($text), true) . '</pre>';
/* output:
Array
(
[0] => http://www.hsdhadghjhdsf.go.bd/fot/g/ddd.jpg
[1] => http://www.barnamenevis.org
)
*/

nsco_nsco
یک شنبه 10 آذر 1392, 17:12 عصر
سلام ممنونم از پاسختون ولی متاسفانه این اصلا کل لینک رو حذف می کنه جواب نمیده این فانکشن ممنون میشوم دوستان کمک برسونید

abolfazl-z
یک شنبه 10 آذر 1392, 17:38 عصر
سلام هنوز یک مشکل توش صادق هست این لینک رو ببینید


http://www.hsdhadghjhdsf.go.bd/fot/g/ddd.jpg


ما اگر مثلا لینک بالا را داشته باشیم خروجیش این رو میزنه با این فانکشن :


http://www.hsdhadghjhdsf.go.bd/fot/


این نکته هم هست که هر لینک امکان داره در ده ها زیر شاخه باشه و متغییر هست این موضوع ممنون یمشوم کمک کنید با تشکر .

دوست عزیز شما امتحان کرده اید ؟

تابع بالا درست عمل می کند (دیگه حضور ذهن ندارم که چه مقادیری در آدرس بار میتونه باشه)
ولی ممکنه همه چی باشه در اینصورت میتونین از تابع آقای شهرکی و یا تابع ذیل استفاده کنید :


<?php
function getLink($link)
{
if(preg_match('/.*(http:\/\/|www\.|http:\/\/www\.)([^\s]+).*/',$link,$r))
return $r[1].$r[2];
else
return false;
}
$n1 = 'این لینک که می بینید http://www.hsdhadghjhdsf.go.bd/fot/g/ddd.jpg ';
$n2 = 'همان طور که گفته شد www.ali.hsdhadghjhdsf.go.bd/asd/asdasd/as/dads ';
$n3 = 'همان طور که گفته شد این نوعhttp://www.hsdhadghjhdsf.go.bd/asda asdas';
$n4 = 'همان طور که گفته شد این نوعhttp://www.hsdhadghjhdsf.go.bd/asda?id=1 asdas';
$n5 = 'همان طور که گفته شد این نوعhttp://www.hsdhadghjhdsf.go.bd/asda?id=1&post=add asdas';
echo getLink($n1).'<br>';
echo getLink($n2).'<br>';
echo getLink($n3).'<br>';
echo getLink($n4).'<br>';
echo getLink($n5).'<br>';
?>

nsco_nsco
یک شنبه 10 آذر 1392, 17:42 عصر
سلام دوستان مشکل حل شد واقعا ممنونم .