Wie kombiniere ich sinnvoll preg_replace und strtolower...

Tim C.

Erfahrenes Mitglied
...und das ganze noch mit Backreference ?
PHP:
$source2 = preg_replace("/\<([A-Z]*)/",strtolower("$1"),$source1);
Das geht nämlich nicht und das finde ich gelinde gesagt ziemlich bescheiden.

Meine Laune ist echt aufm Hochpunkt *ironie* :rolleyes:
 
Hier komm ich und rette dich *sing* (Ou wie tief kann ich noch sinken...)

Naja... Ich würde preg_replace_callback empfehle... :-)

http://de2.php.net/manual/en/function.preg-replace-callback.php

erstes Argument: der Reguläre ausdruck... Wie immer...

zweites Argumend: Den Namen einer Funktion, die bei übereinstimmung ausgeführt wird (im ersten Argument werden die Rückbeziehungen an die benutzerdefinierte Funktion übergeben; die ausgabe (return; ) ersetzt die entsprechende fundstelle)

drittes argument: Der zu durchsuchende String...

Viel Spaß damit

greetz||gottox
 
Zuletzt bearbeitet:
Oder so mit preg_replace und dem Schalter e:
PHP:
$dein_text = preg_replace("/<([A-Z]*)/eisU", "<strtolower('$1')", $dein_wysiwyg_text);
 
Naja, er will einen HTML Code bearbeiten und alle Tags klein schreiben.

Nun filtere ich mit /&lt;([A-Z]*)/eisU alle Anfänge von Tags heraus (<BR, <DIV, <TABLE usw.) und ersetzte sie durch die Selben Tags, nur klein geschrieben (<br, <div, <table, usw.).
 
Ich glaube da steckt noch der Wurm drin...
PHP kennt nicht den unterschied zwischen normalem String und Funktionsname... Deswegen spuckt er auch ne fehlermeldung bei dem Script aus...

Nachtrag:
PHP.net weiß wie's geht:
http://de2.php.net/manual/de/function.preg-replace.php
PHP:
<?php
preg_replace ("/(<\/?)(\w+)([^>]*>)/e", 
              "'\\1'.strtoupper('\\2').'\\3'", 
              $html_body);
?>
 
Zuletzt bearbeitet:
Zurück