Mit preg_replace()
mit dem ersten Argument als ein Array von Reguläre Ausdrücke, du könntest unerwünschte Texte herausfiltern, nur die relevanten bleiben so:
<?php
$myString = 'test1 (07/07/2016) x 1 - 300.00 test2 test 2 (12/7/2016) x 1 - 82.00';
// REMOVE ALL DATES WITHIN PARENTHESIS AS WELL AS ALL STRINGS NOT
// RELATED TO THE STRING test FROM THE STRING $myString USING
// preg_replace WITH AN ARRAY OF REGEX AS 1ST PARAMETER:
$rxDates = array(
"#(\(\d{1,2}\/\d{1,2}\/\d{4}\))#si",
"#(\(\s*\d{1,2}\/\d{1,2}\/\d{4}\))#si",
"#(x\s*\d{1}\s*\-\s*\d{1,7}\.\d{2})#si",
);
$cleanString = trim(preg_replace($rxDates, "", $myString));
var_dump($cleanString);
// DUMPS:==> 'test1 test2 test 2'
// YOU CAN GO A STEP FURTHER REMOVING SPACES AS IN 'test 2'
$cleanString = preg_replace("#(test)(\s*)(\d*)#", "$1$3", $cleanString);
var_dump($cleanString);
// DUMPS:==> 'test1 test2 test2'
// YOU MAY WANT TO PUT THEM IN AN ARRAY IN WHICH CASE
// YOU MAY DO SOMETHING LIKE THIS:
$arrCleanString = preg_split("#\s{1,10}#", $cleanString);
var_dump($arrCleanString);
// DUMPS:
array (size=3)
0 => string 'test1' (length=5)
1 => string 'test2' (length=5)
2 => string 'test2' (length=5)
Welche Ansätze haben Sie bisher ausprobiert? (Sie sollten Ihre Frage mit Ihren aktuellen Versuchen aktualisieren.) –
Sie müssen also nur diese (07/07/2016) x 1 - 300,00 aus der Zeichenfolge entfernen? Oder etwas anderes? –
Sie können 'str_replace ($ search, $ replace, $ subject) verwenden' ' –