Ich versuche, eine Regex zu schreiben, die alles nach etwas ersetzt, das kein Leerzeichen oder ein Buchstabe in PHP ist.PHP - Regex ersetzen alles nicht Buchstaben oder Leerzeichen und alles danach
Ich habe derzeit folgende
$_product[self::NAME] = preg_replace('^[a-z .*$]+$/i', '', $_product[self::NAME]);
Es ersetzt die Zeichenfolge mit einem leeren String.
Hier sind einige Beispiele von dem, was ich
Milk - 50 Gallons
Milk
chocolate milk - 50 gallons
zurückkehren sollte
Diese Zeichenfolge zurückgeben solltechocolate milk
bin ersetzen
Es sollte das gleiche tun, auch wenn die Bindestriche nicht da sind, kehren
Milk 50 gallons
Sinn sollte
Milk
Was in meiner regex falsch ist?
sollte es nichts ersetzen. Ihrem Muster fehlt die Öffnung '/', es ist also ein Syntaxfehler. und in einer Zeichenklasse ('[]') sind '.',' * 'und' $ 'KEINE Wildcards und haben keine besondere Bedeutung. –
Zuerst haben Sie das Trennzeichen vergessen und geben dann einige Beispieleingabezeichenfolgen und das erwartete Ergebnis an. – Toto
Dieser reguläre Ausdruck würde nicht einmal analysieren.Sie haben auch vergessen, die von Ihnen verwendete Eingabe einzuschließen, die das unerwartete Ergebnis lieferte. – Sherif