Ich brauche die Worte aus dieser Zeichenfolge greifen und ersetzen mit AND LIKE/NOT in einer SQL-Anweisung, aber ich ziehe mir die Haare auszuprobieren, es herauszufinden :-)php preg_match_all Syntax/regex
$string = "hello -world !someword ! again |foo &foo AND foo ORfoo";
if (preg_match_all("/AND|OR|\||&|!|\-(\w+)/", "$string", $matches)) {
foreach ($matches as $match) {
foreach ($match as $m) {
// 1. figure out what the delimiter was (!, |, &, -, AND, OR
// 2. create a sql statement from it using the word following the delimiter
// Example:
if ($m = "!") {
$where .= " AND msg NOT like '%".$m."%'";
}
if ($m = "AND") {
$where .= " AND msg like '%".$m."%'";
}
if ($m = "OR") {
$where .= " OR msg like '%".$m."%'";
}
}
}
}
echo $where;
das funktioniert, danke! –
Sie sind herzlich willkommen. Es hat lange gedauert, bis ich den Regex in den Griff bekommen habe. Wenn Sie so freundlich wären, diese Antwort als die richtige Antwort zu markieren, würde ich es begrüßen. – Odyssey