Skocz do zawartości

Regex - linki na text


mojeprogramy.com

Rekomendowane odpowiedzi

Chodzi o zastąpienie linków wew. treści na normalny text

W sieci cały czas trafiam tylko na sytuacje odwrotną

Wystarczy mi wyrażenie regularne

Jeszcze lepiej jakby było stricte pod WordPress a najlepiej jakby uwzględniało bbPressa

 

 InternetSpeedTest.pl - speed test ookla, orange, upc, t-mobile, vectra | directX.pl - directx 9, 10, 11, 12 | kodex.pl

Odnośnik do komentarza
Udostępnij na innych stronach

Jak to mawiają, wyrażenia regularne nie są do HTMLa, bo HTML regularny nie jest ;)

Tutaj alternatywne rozwiązanie:

$a = '<h1>Nagłówek 1!</h1><p>Przykładowy tekst z <a href="">linkiem</a> w środku.</p>';

$dom = new DOMDocument;
$dom->loadHtml($a, LIBXML_HTML_NODEFDTD);
foreach ($dom->getElementsByTagName('a') as $node) {
	$node->parentNode->replaceChild($dom->createTextNode($node->nodeValue), $node);
}
$a = utf8_decode($dom->saveHTML($dom));

echo $a; // <h1>Nagłówek 1!</h1><p>Przykładowy tekst z linkiem w środku.</p>

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jednak cos mi nie działa lub ja nie moge tego skleić

Podam na wzór działajacy kod
 

Cytat

function bb_table_replace( $text ) {
$text = preg_replace('/<a[\s]+[^>]*?href[\s]?=[\s\"\']*(.*?)[\"\']*.*?>([^<]+|.*?)?<\/a>/', "<span style=\"color:#fa3800;\">[usunięto_link]</span>", $text);
return $text;
}
add_filter('bbp_get_reply_content', 'bb_table_replace');

 

 

 InternetSpeedTest.pl - speed test ookla, orange, upc, t-mobile, vectra | directX.pl - directx 9, 10, 11, 12 | kodex.pl

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

rozwiązanie

 

function bb_table_replace( $text ) {
$text = preg_replace('/<a[\s]+[^>]*?href[\s]?=[\s\"\']*(.*?)[\"\']*.*?>([^<]+|.*?)?<\/a>/', "<span style=\"color:#fa3800;\">$1$2</span>", $text);
return $text;
}
add_filter('bbp_get_reply_content', 'bb_table_replace');

 InternetSpeedTest.pl - speed test ookla, orange, upc, t-mobile, vectra | directX.pl - directx 9, 10, 11, 12 | kodex.pl

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

If you parse HTML with regex you are giving in to Them and their blasphemous ways which doom us all to inhuman toil for the One whose Name cannot be expressed in the Basic Multilingual Plane, he comes.

https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności