Помощник
Удаление ссылок из текста, php |
Crasher69
|
Сообщение
#1
|
||
|
|
||
|
|||
K_Yu_Pro |
12.8.2009, 22:56;
Ответить: K_Yu_Pro
Сообщение
#2
|
|
а текст постоянно разный? имею в виду можно обойтись удалением определенных символов из переменной (например удалить символы с 1 по 3 и с 34 по 38) ?
|
|
|
Crasher69
|
Сообщение
#3
|
|
Всегда разный.
-------------------- |
|
|
kronos |
12.8.2009, 23:28;
Ответить: kronos
Сообщение
#4
|
|
$text=preg_replace("#(https?|ftp)://\S+[^\s.,>)\];'\"!?]#",'<a href="\\0">\\0</a>',$text);
Это выражение преображает текст httр://site.ru/ в ссылку http://site.ru/ , может у вас получиться его перевернуть... -------------------- |
|
|
K_Yu_Pro |
13.8.2009, 0:13;
Ответить: K_Yu_Pro
Сообщение
#5
|
|
На самом деле стало интересно, как это сделать стандартными методами, так что сейчас займусь написанием скрипта для вас (хотя что-то мне подсказывает, что основная область применения будет с акцентом на грабинг)
И так, ТС, оценивай скрипт, все основано на стандартных функциях: <?php $tekst = "<a href='сиськи'>Мы любим сиськи</a> ну и просто <a href='ссылка' class='css'>о</a> сиськах <a href='еще'>для</a> примера"; echo "Исходный текст: ",$tekst, "<br><br>"; $link = "<a"; $linkov = substr_count($tekst, $link) * 2; do { $linkov = $linkov - 1; $link_start = strpos ($tekst, "<"); $link_finish = strpos ($tekst, ">"); $udalyaem_simvoli = $link_finish - $link_start +1; $tekst = substr_replace($tekst, "", $link_start, $udalyaem_simvoli); } while ($linkov > 0); echo "Текст, после редактирования: ",$tekst; ?> Естественно, тут есть и нюансы в работе, самый очевидный - невозможность использования в тексте тэгов, например выделения текста курсивом и т.д. Но при таком раскладе скрипт можно дописывать и дописывать, наверное, до бесконечности, я же привел пример, данный скрипт может удалять ссылки из в любом количестве естественно )) Сообщение отредактировал K_Yu_Pro - 13.8.2009, 0:49 |
|
|
Crasher69
|
Сообщение
#6
|
|
Спасибо огромное. K_Yu_Pro, твой код заставил меня немного призадуматься, с твоим примером, где все так просто, работает норм, вот код который получился. Но с моим всетаки пока неочень, там много нюансов. Ну всеравно спасибо, буду дальше дорабатывать)
<? $tekst = "<b><a href=\"сиськи\">Мы любим сиськи</a></b> ну и просто <a href=\"ссылка\" class=\"css\">о</a> сиськах <a href=\"еще\">для</a> примера"; echo "Текст, до редактирования: ",$tekst; $link = "<a"; $linkov = substr_count($tekst, $link) * 2; do { $linkov = $linkov - 1; $link_start = strpos ($tekst, "<a"); $link_finish = strpos ($tekst, "\">"); if ($link_start==0) break; $udalyaem_simvoli = $link_finish - $link_start +2; $tekst = substr_replace($tekst, "", $link_start, $udalyaem_simvoli); } while ($linkov > 0||$link_start>0); // Теперь удалим оставшиеся теги </a> $link = "</a>"; $out= str_replace($link,"",$tekst); echo "<br> Текст после редактирования: ".$out; ?> Обновление, если кому пригдится, довел до ума, погуглил насчет функции strpos, теперь ниче не лагает, все нужные теги остаются на месте: Изначально текст в переменной $content $link = "</a>"; $out= str_replace($link,"",$content); //Вырезали закрывающие теги //Теперь текст в $out $link = "<a"; $linkov = substr_count($out, $link) * 2; do { $linkov = $linkov - 1; $link_start = strpos ($out, "<a"); $link_finish = strpos ($out, ">",$link_start); if ($link_start==0) break; $udalyaem_simvoli = $link_finish - $link_start +1; $out = substr_replace($out, "", $link_start, $udalyaem_simvoli); } while ($linkov > 0); echo $out; Вся фигня в том, что было - искало первое вхождение > в тексте, теперь этот закрывающий тег ищется после <a - так правильнее Сообщение отредактировал Crasher69 - 13.8.2009, 11:27 -------------------- |
|
|
xpert13 |
13.8.2009, 23:39;
Ответить: xpert13
Сообщение
#7
|
|
Боже мой! А не проще выучить регулярки и решить задачу в одну строку?
|
|
|
gamerati |
14.8.2009, 1:21;
Ответить: gamerati
Сообщение
#8
|
|
$text = preg_replace('/<[\/]?a[^>]*>/i', '', $text);
|
|
|
Crasher69
|
Сообщение
#9
|
|
|
хехехе. Мы не ищем легких путей)
"Нормальные герои всегда идут в обход" )))
-------------------- |
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
📌 Рандомизация видео/аудио/фото/текста с минимальным участием - 𝓓𝓮𝓵𝓽𝓪𝓣𝓸𝓸𝓵𝓼 Мы предлагаем комплексное решение для рандомизации всех видов офера |
3 | leviathan | 1539 | 24.4.2024, 19:39 автор: leviathan |
|
Быстрая индексация страниц сайта и обратных ссылок - 2Index | 39 | 2Index | 6754 | 22.4.2024, 16:16 автор: 2Index |
|
GogetTop.net - сервис аренды ссылок с сети PBN адалт тьюбо | 1 | Crimean | 1445 | 11.4.2024, 10:05 автор: Crimean |
|
Ручное размещение вечных ссылок и статей на хороших площадках Опыт 10 лет! |
420 | leonidukg | 274856 | 8.4.2024, 12:06 автор: leonidukg |
|
Крауд-маркетинг. Ручное размещение ссылок под бурж с гарантией | 24 | seolink.orders | 12946 | 2.4.2024, 17:23 автор: seolink.orders |
Текстовая версия | Сейчас: 26.4.2024, 2:15 |