php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.03.2008, 17:36  
Erfahrener Benutzer
 
Registriert seit: 17.04.2006
Beiträge: 133
mokus
Standard HTML-Code umwandeln

Hi,
ich habe ein Problem, und weiß nicht wie ich an dieses herrangehen soll.
Mein Ziel ist das Umwandeln eines HTML-Codes in einen BBcode.

Diesen Code möchte ich umwandeln, leider kann dieser Inhalt Variable ausfallen.

PHP-Code:
<span style="text-decoration: underline; font-style: italic; font-weight: bold;">test</span
So soll es aussehen

Code:
test 
mokus ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.03.2008, 18:06  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Hallo,

das wird sehr, sehr aufwändig, da der CSS-Code (wie du schon schriebst) variable ausfallen kann. Im Grunde müsstest du die verschiedenen regulären Ausdrücke sehr oft auf ein und denselben Tag anwenden.
Einfach sind Tags wie [b], [i] etc.
Wie wäre es aber, ein BB-Tag [span] einzuführen, in dem man CSS-Code verwenden kann (also [span style=text-decoration: underline; font-style: italic; font-weight: bold;]test[/span])? Das wäre zwar nicht die Lösung genau, die du suchst, aber es wäre eine Möglichkeit.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 20.03.2008, 13:20  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Wofür brauchst du dass? Normal sollte es doch nur nötig sein von BBCode auf HTML zu wandeln, andersrum ergibt es für mich keinen Sinn!
Flor1an ist offline  
Alt 20.03.2008, 14:21  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Ich sehe zwar den Sinn auch nicht ein. Ist zwar etwas kompliziert, aber das folgende Fragment sollte funktionieren:
Code:
<?php
$text = preg_replace_callback("|<span style=['\"]*(.+)['\"]>(.+)</span>|iU", 'create_bb', $text);

function create_bb($treffer){
	$text = $treffer[2];
	if (preg_match('/text-decoration:\s*underline/i', $treffer[1])){
		$text = '' . $text . '';
	}
	if (preg_match('/font-style:\s*italic/i', $treffer[1])){
		$text = '' . $text . '';
	}
	if (preg_match('/font-weight:\s*bold/i', $treffer[1])){
		$text = '' . $text . '';
	}
	return($text);
}
?>
Musste Code-Tags nehmen, in PHP-Tags werden die BB-Codes verschluckt. Die scheinen schon wieder Hunger zu haben.
__________________
Gruss
L
lazydog ist offline  
Alt 20.03.2008, 14:38  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

[OT] Wohl wieder was für die Board Buglist

Soviele reguläre Ausdrücke sind doch Wahnsinn. Die ganze Sache ist meines Erachtens unsinnig.
nikosch ist offline  
Alt 20.03.2008, 17:24  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Ich würde eher vorschlagen, alle HTML-Tags mit htmlspecialchars()/htmlentities() zu entwerten und nur die zugelassenen wiederherzustellen:
Code:
#&lt;\s*(/?)\s*(span|em|strong|b|i|u|div|p|ul|li)(\s+style\=".*")?\s*(/?)\s*&gt;#Uis
Somit werden nur die wiederhergestellt, die ungefährlich sind (keine SCRIPT-Tags oder Iframes) und außer evtl. style keine Attribute haben.

Der RegEx ist jetzt aus dem Kopf, aber ich denke, dass er funktioniert.
Manko10 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Nur bestimmten Html Code zulassen? litterauspirna PHP Tipps 2008 5 29.04.2008 12:30
Html Code maskieren mit php Mania PHP Tipps 2008 5 12.10.2007 08:34
nur erlaubte html tags umwandeln PHP Tipps 2006 2 30.10.2006 13:53
benötige den HTML Code für die Bildgröße im Link mickschen HTML, Usability und Barrierefreiheit 2 05.06.2006 20:29
HTML Zeichen in einem bestehendem XML Dokument umwandeln PHP Tipps 2006 33 24.03.2006 17:33
Formulartexte HTML - kompatibel umwandeln horstenpeter PHP Tipps 2006 6 22.02.2006 16:43
html code beim schreiben in mysql db entfernen djrace PHP Tipps 2006 1 03.02.2006 20:33
in HTML Code umwandeln ckrentel Datenbanken 1 24.11.2005 22:47
[PHP5] HTML und PHP Code ordnentlich trennen PHP Tipps 2005-2 6 09.09.2005 09:53
bb code in html umwandeln necrom0rb PHP Tipps 2005 2 06.05.2005 02:50
PDF in html umwandeln JEGO PHP Tipps 2005 2 12.04.2005 15:10
HTML Code in Variable - GEFAHR? Beatbox PHP Tipps 2004-2 4 18.12.2004 14:02
PDF zu HTML umwandeln (serverseitig) PHP Tipps 2004 8 16.08.2004 17:10
Wie kann ich eine PHP Datei in eine HTML Datei umwandeln PHP Tipps 2004 2 12.08.2004 18:04
Code Html for food Off-Topic Diskussionen 11 19.07.2004 00:19

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
html code umwandeln, text in html umwandeln online, html codes umwandeln, html code in bbcode umwandeln, html in bb umwandeln, in html code umwandeln, html in bbcode umwandeln, html in bbc umwandeln, html code konvertieren, html code umwandler, html code in bb code umwandeln, http://www.php.de/php-tipps-2008/45670-html-code-umwandeln.html, umwandlung html code, html codes in bb codes umwandeln, online text in html umwandeln, text in html code umwandeln, html in text umwandeln online, text in html konvertieren online, html in bb code umwandeln, html zu bbcode umwandeln

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:19 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.