Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

regular expression frage :-?

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
ins0
PostRank 4
PostRank 4
Beiträge: 128
Registriert: 01.09.2008, 18:29

Beitrag von ins0 » 08.09.2008, 12:16

Hi ,

ich sitze hier schon viel zulange drann und komme einfach nicht mit einen Regulären Ausdruck weiter :/

Resultat soll sein das der Reg.A. folgende HTML tags vertauscht und zwar nur genau die folgende Zeichenreihenfolge:

Aus:

Code: Alles auswählen

<a href="&#91;* lange url *&#93;">&#91;* 6leerzeichen *&#93;<font face="Arial" style="font-size&#58; 9pt">&#91;* text+leerzeichen *&#93;</font></a>
Vertauschen:

Code: Alles auswählen

<font face="Arial" style="font-size&#58; 9pt"><a href="&#91;* lange url *&#93;">&#91;* text+leerzeichen *&#93;</a></font>
[* blablup *] sind kommentare von mir zum Thread


sprich aus
TAG [a] => TAG [font] => TAG [/font] => TAG [/a]
TAG [font] => TAG [a] => TAG [/a] => TAG [/font]


Ich habe schon ein paar dutzend versuche mit Regex gestartet doch deren ergebnis vertausche auch einfache Links, die der "Genauen" Zeichenreihenfolge, die eigentlich ersetzt werden soll, nicht entsprach :/

hoffe mir kann jemand einen Regulären Ausdruck erstellen oder vielleicht sogar erklären wie ich das hinbekomme :)

Ich hatte preg_replace verwendet.

mfg ins0[/u]

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Ubunty
PostRank 1
PostRank 1
Beiträge: 4
Registriert: 03.03.2007, 15:33

Beitrag von Ubunty » 08.09.2008, 20:41

Ich würde es in mehreren Schritten versuchen:

Versuch mal das hier:

$a = '<a href="[* lange url *]">[* 6leerzeichen *]<font face="Arial" style="font-size: 9pt">[* text+leerzeichen *]</font></a>';
$a =~ s/<a href=(.+?)>//is;
$url = $1;
$a =~s/>(.+?)<//is;
$text = $1;
$b = '<font face="Arial" style="font-size: 9pt"><a href="'.$url.'">'.$text.'</a></font>';

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 08.09.2008, 21:02

ins0 hat geschrieben:Ich habe schon ein paar dutzend versuche mit Regex gestartet doch deren ergebnis vertausche auch einfache Links, die der "Genauen" Zeichenreihenfolge, die eigentlich ersetzt werden soll, nicht entsprach :/
Du meinst, dein Muster passt auch auf die falschen Textstellen? Dann hast du möglicherweise das Pferd vom falschen Ende aufgezäumt, d.h. anstatt mit einem genauen Muster anzufangen (vielleicht sogar ohne Platzhalter) hast du versucht, ein Allerweltsmuster zu spezifizieren (sowas wie <a.*</a>).

Der nachfolgende Javascript-Schnippsel trifft zumindest deine Vorgabe und filtert die nötigen Teile raus:

Code: Alles auswählen

var q = 'bla<a href="url">      <font face="Arial" style="font-size&#58; 9pt">&#91;* text+leerzeichen *&#93;</font></a>fasel<a href="schnurz">furz</a>';
alert&#40;q.match&#40;/&#40;<a href="&#91;^"&#93;+">&#41; &#123;6&#125;&#40;<font face="Arial" style="font-size&#58; 9pt">&#41;&#40;.+?&#41;<\/font><\/a>/i&#41;&#41;;
Die Umsetzung in PHP sollte nicht allzu schwierig sein, das Muster bleibt ja.

Du könntest natürlich bei der Gelegenheit das restlos überflüssige <font>-Element gleich rauswerfen - auch <a> kennt das style-Attribut, dazu musst du nicht <font> bemühen.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


ins0
PostRank 4
PostRank 4
Beiträge: 128
Registriert: 01.09.2008, 18:29

Beitrag von ins0 » 09.09.2008, 08:28

Danke @ Ubunty und Mork vom Ork

Der Regex von Mork passt super =)
Ja das hast du mich erwischt mit meinen "Alleweltmuster" :D
Mork vom Ork hat geschrieben: Du könntest natürlich bei der Gelegenheit das restlos überflüssige <font>-Element gleich rauswerfen - auch <a> kennt das style-Attribut, dazu musst du nicht <font> bemühen.


Ne ich Archiviere gerade eine Tabellarische-Statische-Datenbank die nur in HTML erstellt worden ist und da ka muss ich probieren eine Symmetrie herzustellen =) am liebsten währ mir natürlich auch das alles schön gleichmäßig ist aber bei 6142 HTML dokumenten is das leider sehr unwarscheinlich :roll:

Werde mich danach nochmal genauer mit Regex befassen :)

Danke nochmal ihr beide :)
mfg ins0

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag