Konvertieren: Wikipedia-Formatierung -> HTML

Status
Nicht offen für weitere Antworten.

Granjow

Mitglied
Hallo zusammen,

Ich versuche, ein Programm zu schreiben, bei dem man einfach HTML-Seiten erstellen kann. Dazu will ich die Wikipedia-Formatierung verwenden, '''dies''' (fett) soll z. B. in dies umgewandelt werden. Ich hab jetzt begonnen, das mit regulären Ausdrücken zu machen. Für Links beispielsweise sehen die regulären Ausdrücke so aus:

Code:
replace.put("a[", new RegexpReplacer("\\[http://[^\\n\\r]*\\]", ""));
replace.put("i[1", new RegexpReplacer("\\[", "<a href=\""));
replace.put("i[2", new RegexpReplacer("\\]", "</a>"));
replace.put("b[1", new RegexpReplacer("[\\s]+", "\">"));
(RegexpReplacer ist selber gebastelt, s. u.)

Das wird aber recht schnell komplizierter, eigentlich ist mir auch das schon kompliziert genug. Darum: Gibt es eine bessere Möglichkeit, Links, Formatierungen, Tabellen (!) usw. aufzuspüren? Oder weiss jemand sogar, wie das in der Wikipedia gemacht wird?

Granjow

RegexpReplacer, für Interessierte:
Code:
package testing;

import java.util.regex.Pattern;

public class RegexpReplacer {

	private Pattern pattern;

	String replace = new String();

	private String sPattern = new String();

	/**
	 * Creates a new RegexpReplacer.
	 * 
	 */
	RegexpReplacer() {

	}

	/**
	 * Creates a new RegexpReplacer. Has a String and a pattern which - when
	 * found - shall be replaced.
	 * 
	 * @param PATTERN -
	 *            set Pattern
	 * @param REPLACE -
	 *            set the replace String
	 */
	RegexpReplacer(String PATTERN, String REPLACE) {
		sPattern = PATTERN;
		initPattern();
		replace = REPLACE;
	}

	/**
	 * Recompiles the pattern from the Regular Expression (String)
	 * 
	 */
	public void initPattern() {
		pattern = Pattern.compile(sPattern);
	}

	/**
	 * @param PATTERN -
	 *            set the Pattern
	 */
	public void setPattern(String PATTERN) {
		sPattern = PATTERN;
		initPattern();
	}

	/**
	 * @return the pattern
	 */
	public Pattern getPattern() {
		return pattern;
	}

	/**
	 * @return regular expression as String
	 * @todo \\d is shown as regular Expression \d. --Conflicts?
	 */
	public String getRegexp() {
		return pattern.toString();
	}

	public static void main(String args[]) {
		RegexpReplacer test = new RegexpReplacer("\\d.*", "4");
		System.out.println(test.pattern);
		System.out.println(test.getRegexp());
	}
}
 

Granjow

Mitglied
Ist das (grundsätzlich) möglich zum nachbauen, oder funktioniert PHP -> Java nicht gut? Muss man da alles umschreiben?

Simon
 

AlArenal

Top Contributor
Je besser man beide Sprachen beherrscht, desto einfacher fällt es einem. Nachbauen kann man es natürlich.
 

Sanix

Top Contributor
In PHP werden auch reguläre Ausdrücke verwendet. Sollte also kein grosses Problem sein, dies nachzubauen. Durchsuch den Code mal nach preg_replace
 

Granjow

Mitglied
So, ich hab jetzt endlich Zeit gehabt, den Code etwas genauer anzuschauen. Eigentlich ist er z. B. für die Überschriften geradezu unverschämt simpel:

includes/Parser.php
Code:
	 /**
	 * Parse headers and return html
	 *
	 * @access private
	 */
	function doHeadings( $text ) {
		$fname = 'Parser::doHeadings';
		wfProfileIn( $fname );
		for ( $i = 6; $i >= 1; --$i ) {
			$h = str_repeat( '=', $i );
			$text = preg_replace( "/^{$h}(.+){$h}\\s*$/m",
			  "<h{$i}>\\1</h{$i}>\\2", $text );
		}
		wfProfileOut( $fname );
		return $text;
	}

Lässt sich das in Java auch so ähnlich kurz lösen? Vor allem das \\1 würde mich interessieren.

edit: Der Teil mit dem Zeichen für den Anfang (/^) funktioniert auch in Java:
Code:
pattern = Pattern.compile(REGEX, Pattern.MULTILINE);
http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html#MULTILINE

Granjow
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
izoards doc to pdf Konvertieren... Allgemeine Java-Themen 43
M Java 8 nach Java 6 konvertieren Allgemeine Java-Themen 7
J Java zu C# konvertieren? Allgemeine Java-Themen 4
K Methodenaufruf mit String / String zu Objekt konvertieren Allgemeine Java-Themen 8
RalleYTN float in WORD konvertieren Allgemeine Java-Themen 1
RalleYTN JOGL Texture in BufferedImage konvertieren Allgemeine Java-Themen 1
C String zu Int konvertieren Allgemeine Java-Themen 9
P List<Type> Konvertieren in List<List<Type>> Allgemeine Java-Themen 3
RalleYTN Audiodatein(.ogg/.wav) in Text konvertieren Allgemeine Java-Themen 0
M ArrayList mit verschiedenen Datentypen in String konvertieren Allgemeine Java-Themen 10
B .txt Datei in einen kompletten String konvertieren Allgemeine Java-Themen 20
C String in double[][] konvertieren! Allgemeine Java-Themen 5
R MS Word in PDF konvertieren Allgemeine Java-Themen 1
M ArrayList<Foo> in ein Foo[] konvertieren? Allgemeine Java-Themen 8
P Datentypen String-Daten zu Byte-Zahlen konvertieren - Komme nicht weiter nach vielem versuchen :-/ Allgemeine Java-Themen 7
M Datentypen ArrayList in Integer konvertieren Allgemeine Java-Themen 3
D Programm in JApplet konvertieren... Allgemeine Java-Themen 4
K Image zu BufferedImage konvertieren Allgemeine Java-Themen 9
J String mit "," in Double Wert konvertieren Allgemeine Java-Themen 7
H Input/Output Binäre Daten konvertieren, Output hat Zeilenumbrüche?? Allgemeine Java-Themen 9
S byte [] in string und zurück konvertieren Allgemeine Java-Themen 2
S Millisekunden in Zeitcode konvertieren. Unerwarteter Effekt..? Allgemeine Java-Themen 8
T JPG zu PNG konvertieren Allgemeine Java-Themen 3
P Tonspur aus Video extrahieren und konvertieren Allgemeine Java-Themen 2
R byte[] to String Konvertieren Allgemeine Java-Themen 14
A Input/Output Buffered Image zu Byte Array und zurück konvertieren Allgemeine Java-Themen 4
S Zahl konvertieren [Internationalisierung l10n, l18n] Allgemeine Java-Themen 4
L hunderstel Sekunden in mm:ss:hshs konvertieren Allgemeine Java-Themen 4
T Interger in String konvertieren Erklärung benötigt Allgemeine Java-Themen 11
R Moeglichst viele Datumsstrings in Date Objekte konvertieren? Allgemeine Java-Themen 3
P PNG 32 Bit zu 16Bit konvertieren... Allgemeine Java-Themen 4
Daniel_L RegEx: UBB in HTML konvertieren, Problem Verschachtelung Allgemeine Java-Themen 3
A Performance: byte[] in byte[][][] konvertieren Allgemeine Java-Themen 2
2 MP3 in Wav konvertieren. Allgemeine Java-Themen 5
K Zeichensatz in UTF8 konvertieren Allgemeine Java-Themen 7
T Konvertieren zu gültigen Dateinamen Allgemeine Java-Themen 10
S List<Double> oder Double[] in double[] zu konvertieren Allgemeine Java-Themen 6
B numerisch in alpanumerisch konvertieren Allgemeine Java-Themen 3
Z Uralt-Applet in JFrame Anwendung konvertieren Allgemeine Java-Themen 12
S Integer zu int konvertieren - JUnit Allgemeine Java-Themen 12
F Unicode zu ASCII konvertieren Allgemeine Java-Themen 5
P Sämtliche Zeichensätze nach UTF-8 konvertieren Allgemeine Java-Themen 6
B String in Hex konvertieren: Problem Allgemeine Java-Themen 9
F Code konvertieren Allgemeine Java-Themen 4
G Array/String aus Request wieder in Array konvertieren Allgemeine Java-Themen 2
M Wave file ins Ogg Format konvertieren! Allgemeine Java-Themen 3
A DOC in TIFF konvertieren Allgemeine Java-Themen 2
P word zu pdf konvertieren Allgemeine Java-Themen 5
cowabunga1984 Library um TIF in PDF zu konvertieren Allgemeine Java-Themen 2
S int nach Ascii konvertieren Allgemeine Java-Themen 2
F Wav to mp3 konvertieren Allgemeine Java-Themen 3
G Datum konvertieren Allgemeine Java-Themen 14
R Fehler in WindowsXP oder Java? - double in int konvertieren Allgemeine Java-Themen 10
G Benutzereingaben konvertieren(Exponentialfunktion) Allgemeine Java-Themen 9
K Object nach Vector konvertieren Allgemeine Java-Themen 3
T Musikdateien in ein anderes Musikdateienformat konvertieren Allgemeine Java-Themen 5
T ArrayList in String[] konvertieren. Allgemeine Java-Themen 3
M Value als String in beliebige Klasse konvertieren Allgemeine Java-Themen 18
G Bild von RGB in Grayscale konvertieren Allgemeine Java-Themen 2
T Datum konvertieren Allgemeine Java-Themen 3
R HTML Seiten in formatierte Textseiten konvertieren Allgemeine Java-Themen 3
R StringWriter konvertieren in einen String !!! Allgemeine Java-Themen 2
L Wikipedia Artikel lesen Allgemeine Java-Themen 16
P Probleme mit wikipedia quellcode zur binären Suche Allgemeine Java-Themen 6
Sonecc AutoBoxing Kritik auf wikipedia - Frage Allgemeine Java-Themen 9
F Timestamp in Oracle ohne Formatierung reinbekommen Allgemeine Java-Themen 7
M Array Formatierung Allgemeine Java-Themen 5
J Formatierung mit Java. Allgemeine Java-Themen 21
M Poi-Excel: vorhandene Formatierung verwenden Allgemeine Java-Themen 2
DerEisteeTrinker PDF mit seiner Formatierung in HTML umwandeln Allgemeine Java-Themen 15
W POI - Formatierung für Zahlen Allgemeine Java-Themen 4
B Formatierung eines Datenträgers mit Java? Allgemeine Java-Themen 6
D Tabellenartige Formatierung in eine Datei Allgemeine Java-Themen 6
J Float Formatierung? Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben