php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.06.2006, 12:18  
Erfahrener Benutzer
 
Registriert seit: 30.11.2004
Beiträge: 202
I-Spy
Standard [PHP] preg_replace und reguläre Ausdrücke

Hallo Leute,

ich versuche mit preg_replace Zeichen außerhalb [ b ] und [ / b ] zu ersetzten.
Undzwar dazu ein kleines Beispiel:

Ich habe ein String (Ohne Leerzeichen im BBCode!!!!):
$text = "abc[ b ]abc[ / b ]abc";

Jetzt versuche ich die Stringteile außerhalb [ b ]abc[ / b ] (ohne Leerzeichen im BBCode!!)zu ersetzen mit:

a -> #0
b -> #1
c -> #2

Dazu habe ich ein Array:

$suche = array();
$suche[] = 'a';
$suche[] = 'b';
$suche[] = 'c';

Jetzt versuche die Vertauschung:

foreach($suche as $key => $value)
$text = preg_replace("|\[b\](.*)".$value."(.*)\[/b\]|Uism", "#".$key, $text);

Leider funktioniert das nicht! Die Ausgabe ist folgende:

abc#0abc

Kann mir jemand da weiterhelfen?

Liebe Grüße,
Dima


Code zusammengefasst:

Code:
$text = "abcabcabc";

$suche = array();
$suche[] = 'a';
$suche[] = 'b';
$suche[] = 'c';

foreach($suche as $key => $value)
	$text = preg_replace("|\[b\](.*)".$value."(.*)\[/b\]|Uism", "#".$key, $text);

echo $text;
I-Spy ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 05.06.2006, 14:28  
Erfahrener Benutzer
 
Registriert seit: 30.11.2004
Beiträge: 202
I-Spy
Standard

Also ich finde nichts bei Google über diese Ausnahmen, außer ^. Jedoch habe ich mit diesem Zeichen es bereits versucht und habe damit kein Erfolg erreichen können.
Ein kleines Beispiel würde reichen, Danke!
I-Spy ist offline  
Alt 07.06.2006, 11:59  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

Bei mir sieht der Teil der das ersetzt so aus:

PHP-Code:
<?php
    $orginal 
= array("<"">""ä""ö""ü""\r\n""\r""\n""Ä""Ö""Ü""[b]""[/b]""[i]""[/i]""[u]""[/u]""'""\"");
    
$mutate = array("&lt;""&gt;""&auml;""&ouml;""&uuml;""
"
"
"
"
"
"&Auml;""&Ouml;""&Uuml;""[b]""[/b]""[i]""[/i]""<u>""</u>""&lsquo;""&ldquo;"); 

    for(
$i=0$i<19$i++)    {
        
$text str_replace($orginal[$i], $mutate[$i], $text);
    }
?>
Vielleicht hilft das ja was. Bin grad in der Schule, hab drum net mehr Zeit als das zu pasten. Sorry

Gruss Igäl
__________________
Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
Mark Twain
Igäl ist offline  
Alt 07.06.2006, 13:19  
Erfahrener Benutzer
 
Registriert seit: 30.11.2004
Beiträge: 202
I-Spy
Standard

Hi!

Vielen Dank erstmal. Leider genügt es mir nicht, weil in deiner Version auch zeichen ersetzt werden, die zB. als BBcode gedacht sind! aus [ b ] wird [ #2 ] oder so. Und zeichen außerhalb von BBCode müssen anders ersetzt werden als im BBCode. Deswegen muss man da irgendwie mit den regulären Ausdrücken arbeiten.

Liebe Grüße,
Dima
I-Spy 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

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php preg_replace, php preg_replace ausname uuml, uism reguläre, preg_replace ausnahme, reguläre preg_replace, ereg_replace ausnamen, reguläre ausdrücke /uism, reguläre ausdrücke uism, php reguläre ausdrücke bbcode, reguläre ausdrücke php uism, php preg_replace beispiele, preg_replace mit ausnahmen, http://www.php.de/php-tipps-2006/40484-php-preg_replace-und-regulaere-ausdruecke.html, php preg_replace /uism

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:58 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.