Jetzt Mitglied werden

Kostenlos registrieren und die vielen Vorteile der Webmasterpro-Mitgliedschaft nutzen.

Login für Mitglieder

Forum - Entwicklung

Info: Der Stern signalisiert, dass neue Beiträge vorhanden sind.

Über Webmasterpro.de

Das Portal wird betrieben und entwickelt durch die Team23 Agentur. Die Augsbuger Agentur hat sich auf Community Software und die Entwicklung von Webportalen spezialisiert.

Datenbanken (SQL) - Forum

Derzeit sind Sie als Gast in unserem Forum aktiv. Für das Schreiben registrieren Sie sich bitte. Unser Forum ist eine Austauschplattform für Webworker zum Kommunizieren, Helfen, Informieren und Hilfe finden. Auf der rechten Seiten finden Sie eine Forenübersicht über alle Bereiche des Webmaster-Forums. Unterhalb finden Sie alle aktuellen Themen.


Patrick Schwering
Beiträge: 74

PN schreiben
Profil ansehen
User ist offline

mySQL Regex

Link zur Antwort auf "mySQL Regex" von Patrick Schwering Patrick Schwering, am Freitag den 02.07.2010 um 11:56:18

Hallo,

ich sitze derzeit vor einem kleinen Problem.

Ich hab ca. 10 Blogs im Internet, diese beinhalten verschiedene Backlinks, welche ich vorerst einmal komplett entfernen möchte. Dies ist natürlich per Hand eine riesen Aufgabe ...

Daher möchte ich dies direkt und automatisch in der Datenbank vornehmen.

Ein Link könnte z.B. so ausschauen:

 
HTML
1
2
3
HTML<a href="http://www.google.de" title="Google">Suchmaschine</a>
oder
<a href="http://www.bild.de/index.php" alt="BIld" title="bild">BILD</a>

Ich möchte nun auf das entsprechende Feld den RegEx laufen lassen, sodass nurnoch "Suchmaschine" bzw. "BILD" im Text enthalten ist.

Kann mir da vielleicht jemand helfen?
Kenn mich mit den regulären Ausdrücken nicht 100% aus und ich bin mir bewusst, dass ich damit einiges kaputt machen kann.

Vielen Dank

Patrick Schwering


Patrick Schwering
Beiträge: 74

PN schreiben
Profil ansehen
User ist offline
Link zur Antwort auf "mySQL Regex" von Patrick Schwering Patrick Schwering, am Freitag den 02.07.2010 um 17:32:31

Erstmal Danke Martin,

kann man diesen Ausdruck noch erweitern?
Wenn ich z.B. nur Links von google.de (auch Subdomains und Unterverzeichnisse) erstezten möchte?

Hab das jetzt mit preg_replace (via PHP Script) probiert.

 
HTML
1
$pattern = '/\<a.*href="(google.de|google.com)" [^\>]*?\>((?!\<\/a\>).*?)\<\/a\>/';

Ich muss aus meinen Blogs einfach bestimmte Links entfernen, der Linktext soll aber bestehen bleiben.

Edit:

Folgenden Ausdruck hab ich jetzt:

 
HTML
1
\<a [^\>]*href="(.*(' . $search_urls . ').*)"[^\>]*\>(.*)\<\/a\>

Dieser funktioniert soweit auch (Variable z.B. "google.de|google.com") allerdings erkennt dieser keine Bilder:

 
HTML
1
<a href="http://www.google.de"><img src="http://test.de/bild.jpg"></a>

Diese werden einfach entfernt, die Linktexte bekomm ich allerdings.

 
PHP
1
$str = preg_replace($pattern, '\\3', $article->content, -1 , $anzahl_links);
Insgesamt 1 mal bearbeitet, zuletzt am 02.07.2010 um 18:57:33
Link zur Antwort auf "mySQL Regex" von Jannik Zschiesche Jannik Zschiesche, am Montag den 05.07.2010 um 19:53:47

Ich weiß gerade nicht, welche Version aktuell ist, aber bei dieser hier:

 
HTML
1
\<a [^\>]*href="(.*(' . $search_urls . ').*)"[^\>]*\>(.*)\<\/a\>

Muss ganz dringend das Fragezeichen zu

 
HTML
1
\<a [^\>]*href="(.*(' . $search_urls . ').*)"[^\>]*\>(.*?)\<\/a\>

Sonst schlägt das RegEx greedy zu..