Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Editor Listen in ul li umwandeln

Frage Entwicklung PHP

Mitglied: yannick-server

yannick-server (Level 1) - Jetzt verbinden

20.04.2011 um 17:40 Uhr, 2729 Aufrufe, 3 Kommentare

Guten Abend,
ich brauche für ein Forum eine Möglichkeit den Benutzer seine Eingaben formatieren zu lassen, wie BBCode.
Allerdings möchte ich, dass z.B. Listen so aufgelistet werden:
*Punkt1
*Punkt2
*Punkt3
... ihr wisst schon was ich meine. Die li Tags bekomme ich mit Regex umgewandelt, aber wie setze ich jetzt einen Block ul um die li Tags?
Hier der Ausschnitt meiner Datei:
01.
<?php 
02.
$str = preg_replace("#\*(.*)\\r\\n#U", "<li>$1</li>", $str); 
03.
?>
Vielen Dank & mfg
Yannick
Mitglied: Arano
20.04.2011 um 17:56 Uhr
Hi,

habe da eine Idee !
Ich würde das übe einen "Callback" machen: PHP-Manual - preg_replace_callback()
Mit dem regulärem Ausdruck lässt du dann von "\n*" bis "[a-z]\n" suchen (die komplette Liste) und das gefundenen an die Callbackfunktion übergeben. In dieser lässt du den String dann Stück für Stück auseinander nehmen und baust du so deine HTML-Liste zusammen. Das HTML wird von der Funktion dann wieder zurückgegeben und an der entsprechenden stelle im Text ersetzt.

Das schwerste dabei dürfte wohl der reguläre Ausdruck sein ;)


~Arano
Bitte warten ..
Mitglied: dog
20.04.2011 um 20:33 Uhr
Markdown oder Textile benutzen.
Dann hast du eine funktionierende Lösung (was du nämlich mit den RegExen nicht hinbekommen wirst) und die Nutzer müssen nichts neues lernen.
Bitte warten ..
Mitglied: yannick-server
20.04.2011 um 21:56 Uhr
Danke für die Antworten. Ich werde es mal mit dem Callback versuchen.
Das Formatieren ist auch nur fürs Forum so gedacht, alle anderen Seite lassen sich bequem über einen Editor im Backend pflegen.
Mir ist auch egal, ob die Nutzer ihren Text formatieren oder nicht, darauf kommt es bei den Diskusionen nicht an, vielleicht mal was Fett, unterstrichen oder einen Link, das wars dann aber auch schon. Martdown mit Überschriften geht schon viel zu weit.

Ich melde mich nochmal wenn ich nicht weiter komme oder eine Lösung gefunden haben.
Gruß Yannick
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Python
Bashscript in Pythonscript umwandeln (4)

Frage von struband zum Thema Python ...

Entwicklung
gelöst Array in HTML-Tabelle umwandeln mittels AutoIT (5)

Frage von drnatur zum Thema Entwicklung ...

Batch & Shell
Per Batch in Aufgabeplanung XLS in CSV umwandeln (21)

Frage von dtbsys zum Thema Batch & Shell ...

C und C++
Verkettete Listen

Frage von Protected zum Thema C und C ...

Heiß diskutierte Inhalte
Hardware
Laptop ins Salzwasser gefallen (18)

Frage von Marcel94 zum Thema Hardware ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (13)

Frage von thomasreischer zum Thema Hardware ...

Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (13)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...