Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Suchen und ersetzen (https://www.gegen-bilderklau.net/thread.php?threadid=175159)


Geschrieben von Nanni am 02.09.2010 um 15:13:

  Suchen und ersetzen

Hallo!

Und zwar habe ich ein Suchen und Ersetzen eingebaut, bei dem bestimmte Wörter ( zb [B] u.s.w) von einem array umgewandelt wurden - funktioniert auch prächtig. Nur dass ich jetzt gemerkt habe, dass es gut wäre, wenn die groß/kleinschriebung nicht beachtet werden würde und auf eregi_replace umgestellt habe.. und jetzt geht nichts mehr, weder mit \ vor den eckigen Klammern noch ohne, es wird nichts mehr umgewandelt.

Kann man mit eregi_replace nur einen einzigen Begriff umwandeln? Das glaub ich nicht, bei wbblite-Foren gibt es ja auch mehrere BBC-Codes, bei denen die Groß-/Kleinschreibung keine Rolle spielt.
Aber woran liegts dann?

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
$array_suche[0] = "[i]";
    $array_suche[1] = "[/i]";
    $array_suche[2] = "[b]";
    $array_suche[3] = "[/b]";
    
    $array_ersetzen[0] = "<i>";
    $array_ersetzen[1] = "</i>";
    $array_ersetzen[2] = "<b>";
    $array_ersetzen[3] = "</b>";

     
$text2 eregi_replace($array_suche$array_ersetzen$text);


Liebe Grüße, Nanni



Geschrieben von Oli am 02.09.2010 um 15:42:

 

Hi,

aaalso.. Zunächst mal:

- ereg_replace und eregi_replace sind deprecated, d.h. sie werden in einer zukünftigen Version von PHP abgeschafft.
- Die BBCodes in wbblite-Foren werden mit preg_replace bearbeitet, welches übrigens auch schneller ist
- Für einfache Stringersetzungen wie in deinem Fall empfiehlt sich str_replace bzw. str_ireplace (schneller, da es keine regulären Ausdrücke auswertet).

In deinem Fall empfiehlt sich also:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
$array_suche[0] = "[i]";
    $array_suche[1] = "[/i]";
    $array_suche[2] = "[b]";
    $array_suche[3] = "[/b]";
    
    $array_ersetzen[0] = "<i>";
    $array_ersetzen[1] = "</i>";
    $array_ersetzen[2] = "<b>";
    $array_ersetzen[3] = "</b>";

     
$text2 str_ireplace($array_suche$array_ersetzen$text);


LG,
Oli



Geschrieben von Nanni am 02.09.2010 um 21:46:

 

uiii prima danke großes Grinsen klappt perfekt smile


Forensoftware: Burning Board, entwickelt von WoltLab GmbH