WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   PHP: gleichwertige alternative zu str_ireplace (http://www.wcm.at/forum/showthread.php?t=137499)

Potassium 21.06.2004 23:32

PHP: gleichwertige alternative zu str_ireplace
 
sers
was gibts es für eine ähnliche und gleichwertige funktion bei PHP wie str_ireplace (nicht str_replace).
(das i bedeutet case insensitive).

_m3 22.06.2004 06:32

http://at.php.net/manual/de/function.preg-replace.php
?

Potassium 22.06.2004 07:48

*yuk*
argl ich mag ereg_* und preg_* ned weil man da immer mit den ^ und \ etc herumschei*en muss :mad:
und ich hab bis jetzt noch nix gefunden wie das ordentlich funktioneren soll :heul:

_m3 22.06.2004 09:44

Und warum magst str_ireplace ned?

Potassium 22.06.2004 12:12

Zitat:

Original geschrieben von _m3
Und warum magst str_ireplace ned?
ich mags eh aber das gibts erst ab PHP 5 :(
und weder auf meinem lokalen server noch auf dem space läuft schon die 5er version....

snowman 22.06.2004 12:58

in 2 Schritten?

strtolower oder mb_strtolower und dann str_replace

gruss,
snowman

Potassium 22.06.2004 13:27

Zitat:

Original geschrieben von snowman
in 2 Schritten?

strtolower oder mb_strtolower und dann str_replace

gruss,
snowman

genau das will ich verhinder nämlich das mein text dann ganz lowercase is. :(
warum das ganze ich brauch einen bbcode=>html und wieder back konverter. in allen gängigen php-sw's wird es aber mit preg_replace oder ereg_replace gemacht :( so.
mein code:
PHP-Code:

$text str_replace("http://","",$text);
    if(
substr_count(strtolower($text),"[url]") >= 1) {

        
$url_1 substr(strtolower($text),strpos(strtolower($text),"[url]")+5);    
        
$url substr(strtolower($url_1),0,strpos(strtolower($url_1),"[/url]"));
        
$text str_replace("[url]","<a href='http://",strtolower($text));
        
$text str_replace("[/url]","'>".$url."</a>",strtolower($text));
    }
    if(
substr_count(strtolower($text),"[url=") >=1){
        
$text str_replace("[/url]","</a>",$text);
        
$url_1 substr(strtolower($text),strpos(strtolower($text),"[url=")+5);
        
$url substr(strtolower($url_1),0,strpos(strtolower($url_1),"]"));
        
$text str_replace("[url=","<a href=\"http://",strtolower($text));
#        $text = preg_replace("^[\]]+","\">",strtolower($text),"",strtolower($text),1);
        
$text str_replace(substr(strtolower($text), strpos(strtolower($text),"]"), 1),"\">",strtolower($text));        
        


ich weiß es is eher :rolleyes:
hilfe wird gerne entgegen genommen.
ajo ich muss das strtolower($text) wegbekommen weil ich sonst eben einen lowercase string zurückbekomm was ich aber ned will

_m3 22.06.2004 14:14

:eek: WTF?
Was macht der code?

Potassium 22.06.2004 14:23

er wandelt [#url=www.wcm.at]wcm[/#url] in wcm um.
theoretisch :rolleyes:
(ohne die #)

_m3 22.06.2004 14:33

In Perl (die regex sollte in PHP auch funktionieren):
Code:

$x = '[url=www.wcm.at]wcm[/url]';
$x =~ s/\[url=(.*?)\](.*?)\[\/url\]/<a href=\"$1\">$2<\/a>/i;
print "$x \n";



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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag