|
|
|
| отредактироВать-из. за олечатку
Здравствуйте,отредактируйте пожалуйста сокращение ссылок, так, чтобы одновременно сокращался текст,сезависимо от ссылок.пожалуйста
<?php
if(preg_match("/(http:\\/\\/www.|www.|http:\\/\\/)(\\S+)/si", $comment, $save))
{
$link = $save[2];
$link = "http://".$link;
if(strlen($link)>40)
{
$link = substr($link,0,40);
$link = $link."...";
}
$comment = preg_replace("/(http:\\/\\/www.|www.|http:\\/\\/)(\\S+)/si",'<a href="http://\\2" onclick="this.target=\'target\'">'.$link.'</a>',$comment);
}
echo $comment;
?>
|
| |
|
|
|
|
|
|
|
для: rurgil
(01.09.2014 в 14:19)
| | Может collabs? | |
|
|
|
|
|
|
|
для: rurgil
(01.09.2014 в 15:55)
| | Я ничего не понял.
Напишите примеры: "длинная ссылка", "короткая"... Что есть, и что хотим получить.
Но, если я правильно понял, то:
<?php
$str='<h3> Original text</h3>ndfjg варв авф ghgl <a href="http://adidas.com" target="_blank">many text_blah_blah_blah a vacation in the foreign land</a> john hubble. Iron Maiden accept urian heep <a id="ptn_pnh" href="http://dow-johnes.ua/nyce-trading/grown/">http://dow-johnes.ua/nyce-trading/grown/</a> it\'s OK.<br><br><h3>Your cute links</h3>';
function cutelink($link){
if(mb_strlen($link[2])>30){
$new_text=mb_substr($link[2],0,29);
}
else{
$new_text=$link[2];
}
return $link[1].$new_text.$link[3];
}
echo preg_replace_callback("/(<a[^>]+?>)(.+?)(<\/a>)/ui","cutelink",$str);
?>
|
| |
|
|
|
|
|
|
|
для: Deed
(01.09.2014 в 22:48)
| | нет.
хотелось, чтобы сокращался и вступительный текст и последующая ссылка
<?php
$comment = "rtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtr trtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrt rtrtrtrtrtrtrtrtrtrtrtrtrtrt http://www.softtime.ru/forum/pstadd.php?id_forum=6&id_theme=91501&id_post=544096";
if(preg_match("/(http:\\/\\/www.|www.|http:\\/\\/)(\\S+)/si", $comment, $save))
{
$link = $save[2];
$link = "http://".$link;
if(strlen($link)>40)
{
$link = substr($link,0,40);
$link = $link."...";
}
$comment = preg_replace("/(http:\\/\\/www.|www.|http:\\/\\/)(\\S+)/si",'<a href="http://\\2" onclick="this.target=\'target\'">'.$link.'</a>',$comment);
}
echo $comment;
?>
|
| |
|
|
|
|
|
|
|
для: rurgil
(02.09.2014 в 00:41)
| | Напишите, КАК должна выглядеть строка ПОСЛЕ обработки. | |
|
|
|
|
|
|
|
для: Deed
(02.09.2014 в 07:10)
| | Текст останется какой был ,ссылка сократится на 40символов... Вот для текста нужно такоеже сокращение,я в дороге простите.не смог вывести результат.там просто текст с сокращенно ссылкой этой страницы.код совершенно рабочий | |
|
|
|
|
|
|
|
|
для: rurgil
(02.09.2014 в 10:06)
| | Ну, и чем же не устраивает предложенный мною выше код? | |
|
|
|
|
|
|
|
для: Deed
(02.09.2014 в 11:00)
| | Спасибо но расчитывал ввод без тегов | |
|
|
|
|
|
|
|
для: rurgil
(02.09.2014 в 11:19)
| | Ну, вот так нужно было и говорить.
Если так, то:
<?php
$str='rtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtr trtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrt rtrtrtrtrtrtrtrtrtrtrtrtrtrt http://www.softtime.ru/forum/pstadd.php?id_forum=6&id_theme=91501&id_post=54409644545454545454d4tf4gh454hd5fh nfnfhm#ruffertysfbththrfjhytj
rtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtr trtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrt rtrtrtrtrtrtrtrtrtrtrtrtrtrt http://www.softtime.ru/forum/pstadd.php?id_forum=6&id_theme=91501&id_post=54409644545454545454d4tf4gh454hd5fh nfnfhm#ruffertysfbththrfjhytj';
$comment=preg_replace("/(https?:\/\/(www\.)?)(\S{1,39})(\S*)/uis","<a href=\"$1$3$4\">$3</a>",$str);
?>
|
P.S. Корявый парсер-параноик этого сайта рвет длинные строки без пробелов. | |
|
|
|
|
|
|
|
для: Deed
(02.09.2014 в 11:48)
| | Как можно добюавить [[:alnum:]],чтобы сокращался не только ссылочный текст. | |
|
|
|
|
|
|
|
для: rurgil
(02.09.2014 в 21:03)
| | Сколько слов текста должно остаться? | |
|
|
|
|
|
|
|
для: Deed
(03.09.2014 в 10:51)
| | До 50-ти,ой что я несу .10 примерно | |
|
|
|
|
|
|
|
для: rurgil
(03.09.2014 в 12:14)
| | Завтра что-нибудь придумаем. Сегодня нет времени. | |
|
|
|
|
|
|
|
для: Deed
(03.09.2014 в 20:17)
| | Спасибо а подробности целиком выведу.такая была задумка | |
|
|
|
|
|
|
|
для: rurgil
(03.09.2014 в 21:02)
| | Это все решается без регулярки:
<?php
$str='rtrtrt r trtrtrt rtrtrt rtrt rtrtrtrtrt r trtrtrtrt rtrtr trt rtrt rtrtrtrtr trtrt rtrtrtrtr tr trtrtrtr trt rtrtrt rtrtrt r trtrtrt rtrtrt rtrt rtrtrtrtrt r trtrtrtrt rtrtr trt rtrt rtrtrtrtr trtrt rtrtrtrtr tr trtrtrtr trt rtrtrt rtrtrt r trtrtrt rtrtrt rtrt rtrtrtrtrt r trtrtrtrt rtrtr trt rtrt rtrtrtrtr trtrt rtrtrtrtr tr trtrtrtr trt rtrtrt http://www.softtime.ru/forum/pstadd.php?id_forum=6&id_theme=91501&id_post=54409644545454545454d4tf4gh454hd5fh nfnfhm#ruffertysfbththrfjhytj r trtrtrt rtrtrtrtrtrtr t rtrtrtrt rtrtr trtrtrt rtrt r trtrtrtrt rtrtrtrtrtrtrt rtrt rt rtrtrtrtr tr trtrtrtrtrt http://www.softtime.ru/forum/pstadd.php?id_forum=6&id_theme=91501&id_post=54409644545454545454d4tf4gh454hd5fh nfnfhm#ruffertysfbththrfjhytj';
//$comment=preg_replace("/(https?:\/\/(www\.)?)(\S{1,39})(\S*)/uis","<a href=\"$1$3$4\">$3</a>",$str);
$a=explode(' ',$str);
$c="";
$l='';
$j=0;
for($i=0;$i<count($a);$i++){
if(!mb_strpos($a[$i],'http://')&&$j<11){
$c.=' '.$a[$i];
$j++;
}
elseif(mb_strpos($a[$i],'http://')===0){
$l.=' <a href="'.$a[$i].'">Link</a>';
}
}
echo trim($c.'...'.$l);
?>
|
P.S. Забыл пароль от deed... | |
|
|
|
|
|
|
|
для: deed_worker
(04.09.2014 в 14:49)
| | Вот это да!огромное спасибо ! | |
|
|
|