net-board.net
PHP string bereinigen von BBCode??? - Druckversion

+- net-board.net (http://net-board.net)
+-- Forum: Deine eigene Homepage (http://net-board.net/forumdisplay.php?fid=26)
+--- Forum: Scriptsprachen (+Datenbanksysteme) (http://net-board.net/forumdisplay.php?fid=19)
+---- Forum: Tutorials und Artikel: Programmieren und Datenbanken (http://net-board.net/forumdisplay.php?fid=15)
+---- Thema: PHP string bereinigen von BBCode??? (/showthread.php?tid=5573)



PHP string bereinigen von BBCode??? - KingGO - 21.05.2007

Hallo Leute suche eine function dir mir die gesamten Tags löscht sie sollte es so machen...

text text sollte erhalten bleiben genau wie [i] [u] das hätt ich mit string replace gemacht nur wie siehts aus mit
Code:
******

das wollte ich ersetzen durch in dieser Ansicht wurde das Code Element entfernet...

wie geht sowas brauche es für einen RSS Feed :/


- pattex - 21.05.2007

Ich würde es so machen, wenn ich dich richtig verstanden habe:
str_replace("[code]", '', $meinstring);


- KingGO - 21.05.2007

dan würdest du doch aber nur das wort [code] ersetzen der soll ja das dadrine auch weg hauen kicked hatte da ma was mit regexp aber keine ahnung mehr wie das ging hab mich auch schon todgegooglet :/ vielleicht hab ich auch nur falsche suchtexte genommen :/


- pattex - 21.05.2007

Vll so?

///// ich nehme es zurück mom Wink


- KingGO - 21.05.2007

Code:
<?php
function bbocdeerg($string)
{
    return str_replace ( array ( '[i]', '[/i]', '[u]', '[/u]', '[b]', '[/b]' ), array ( '', '', '', '', '', '' ), $string );
}
?>

das ahbe ich derzeit nur da muss noch bissel was hin Big Grin


- pattex - 21.05.2007

also entweder du ersetzt
Code:
durch ___________________________
oder es gibt ne einfacherer lösung
oder du bastelst dir hieraus eine schleife die alle [code]'s entfernt:

<?

$string0="Hallofsdfdsfdsffd [code]test8392
testsdffsdf fsdfdfds";

$string1= explode("
Code:
", $string0);
$string2= explode("
", $string0);

echo $string1[0];
echo $string2[1];

$string_ges=array($string1[0],$string2[1]);
$string_ges=implode("",$string_ges);

echo"<br>".$string_ges."";
?>

klappt bei mir Wink


- KingGO - 22.05.2007

ich finde es etwas umständlich pattex aber gehen tut es ^^

[code=php]<?php

// Das

$entry = eregi_replace("\[b\]([^\[]+)\[/b\]","<b>\\1</b>",$entry);
$entry = eregi_replace("\[i\]([^\[]+)\[/i\]","<i>\\1</i>",$entry);
$entry = eregi_replace("\[u\]([^\[]+)\[/u\]","<u>\\1</u>",$entry);
$entry = eregi_replace("\[img\]([^\[]+)\[/img\]","<img src=\"\\1\" border=\"0\">",$entry);
$entry = eregi_replace("\[mail\]([^\[]+)\[/mail\]","<a href=\"mailto:\\1\">\\1</a>",$entry);
$entry = eregi_replace("\[url\]([^\[]+)\[/url\]","<a href=\"\\1\" target=\"_blank\">\\1</a>",$entry);
$entry = eregi_replace("\[url=\"([^\"]+)\"]([^\[]+)\[/url\]","<a href=\"\\1\" target=\"_blank\">\\2</a>",$entry);

// In das...

$entry = eregi_replace("\[b\]([^\[]+)\[/b\]","\\1",$entry);
$entry = eregi_replace("\[i\]([^\[]+)\[/i\]","\\1",$entry);
$entry = eregi_replace("\[u\]([^\[]+)\[/u\]","\\1",$entry);
$entry = eregi_replace("\[img\]([^\[]+)\[/img\]","",$entry);
$entry = eregi_replace("\[mail\]([^\[]+)\[/mail\]","\\1",$entry);
$entry = eregi_replace("\[url\]([^\[]+)\[/url\]","\\1",$entry);
$entry = eregi_replace("\[url=\"([^\"]+)\"]([^\[]+)\[/url\]","\\1",$entry);

// zusätze....

$entry = eregi_replace("\[code\]([^\[]+)\[/code\]","\\1",$entry);
$entry = eregi_replace("\[quote\]([^\[]+)\[/quote\]","\\1",$entry);

?>[/code]

So würde ichs machen....