preg_replace :/
Kris.Klepers
- php
Hi @ all :)
if (strstr($test[$x], ".de") OR strstr($test[$x], ".com") OR strstr($test[$x], ".net") OR strstr($test[$x], ".org") && $test[$x]{1} != "#")
{...}
das soll eine abfrage sein ob die Variable $test[$x] eines der Wörter ".de" / ".com" / ".net" oder ".org" besitzt ...
nun willi ch aber auch noch als weitere Bedingung einbauen das "#" NICHT die erste stelle der Variables/des Strings sein darf ... so wie ichs gepostet habe funktioniert alles super bis auf die Abfrage, dass die letzte Stelle eben kein "#" sein sollte :/
echo $begrüßung;
if (strstr($test[$x], ".de") OR strstr($test[$x], ".com") OR strstr($test[$x], ".net") OR strstr($test[$x], ".org") && $test[$x]{1} != "#")
Wenn sich deine Berechnung nicht nach der vorgegebenen Operatoren-Rangfolge richten soll, dann solltest du die Prioritäten selbst setzen. (Klammern helfen dabei.)
echo "$verabschiedung $name";
Hi Kris,
if (strstr($test[$x], ".de") OR strstr($test[$x], ".com") OR strstr($test[$x], ".net") OR strstr($test[$x], ".org") && $test[$x]{1} != "#")
{...}das soll eine abfrage sein ob die Variable $test[$x] eines der Wörter ".de" / ".com" / ".net" oder ".org" besitzt ...
nun willi ch aber auch noch als weitere Bedingung einbauen das "#" NICHT die erste stelle der Variables/des Strings sein darf ... so wie ichs gepostet habe funktioniert alles super bis auf die Abfrage, dass die letzte Stelle eben kein "#" sein sollte :/
Der Betreff deines Posts lautet "preg_replace ..."? Warum benutzt du dann nicht auch einfach die PCRE-Befehle von PHP? Da geht das doch viel einfacher:
if( preg_match('/\A[^\#].+\.(de|com|net|org)/', $test[$x]) )
Und mit großer Wahrscheinlichkeit möchtest du, dass nach der TLD nichts mehr kommen soll. Dann schreibst du eben:
if( preg_match('/\A[^\#].+\.(de|com|net|org)\Z/', $test[$x]) )
MffG
EisFuX
Hi Kris,
if (strstr($test[$x], ".de") OR strstr($test[$x], ".com") OR strstr($test[$x], ".net") OR strstr($test[$x], ".org") && $test[$x]{1} != "#")
if( preg_match('/\A[^\#].+\.(de|com|net|org)\Z/', $test[$x]) )
etwas performanter (wenn auch etwas ungenauer, dafür 100%ig portierbar) dürfte folgendes sein:
if(in_array(substr($text[$x],-3),array('.de','com','net','org')) && $text[$x]{0}){}
Im Übrigen ist $text[$x]{1} das zweiter Byte!
Gruß aus Berlin!
eddi
if(in_array(substr($text[$x],-3),array('.de','com','net','org')) && $text[$x]{0}!='#'){}