Hallöchen alle miteinander!
Ich weiß jetzt nicht ob gleich einer von den Mods mit 'nem Knüppel auf mich losgeht weil ich sowas hier in diesem Forum poste, aber ich hab jetzt so spontan keinen anderen Platz dafür gefunden und riskier darum einfach mal ne dicke Lippe.
Undzwar arbeite ich gerade an einer Suche die mit Postleitzahlen funktoinieren soll. Es handelt sich um PLZ-Bezogene Inserate, damit damit erhascht werden sollen. Ich hab auch schon ein bisschen was geschrieben, allerdings weiß ich nicht so recht ob das alle von mir gewünschten Fälle abdeckt. Der Benutzer soll soetwas hier eingebn können:
etc. pp. Jede Zeile steht hier für ein Beispiel. Ich poste jetzt einfach mal den Code den ich bis jetzt schon habe, und wäre sehr erfreut wenn mir da jemand sagen könnte ob der gut aussieht (oder zumindest funktoiniert ) oder irgendwie gravierende Fehler drinne sind.
Code:
$text muss entsprechend angepasst werden.
Danke euch im Voraus!
Ich weiß jetzt nicht ob gleich einer von den Mods mit 'nem Knüppel auf mich losgeht weil ich sowas hier in diesem Forum poste, aber ich hab jetzt so spontan keinen anderen Platz dafür gefunden und riskier darum einfach mal ne dicke Lippe.
Undzwar arbeite ich gerade an einer Suche die mit Postleitzahlen funktoinieren soll. Es handelt sich um PLZ-Bezogene Inserate, damit damit erhascht werden sollen. Ich hab auch schon ein bisschen was geschrieben, allerdings weiß ich nicht so recht ob das alle von mir gewünschten Fälle abdeckt. Der Benutzer soll soetwas hier eingebn können:
Code:
10-12 10*, 12-15 10-20, 70-801* 09-12, 10*
Code:
PHP-Code:
<?php
$text = "10*-55*, 15-16";
echo "Suche nach: " . $text;
echo "<hr>";
if (preg_match("/(,|, )/", $text)) {
$teile = preg_split("/(, |,)/", $text);
if (preg_match("/^(\d{2}|\d{3}|\d{4}|\d{5})\*?(-(\d{2}|\d{3}|\d{4}|\d{5})?\*?)?$/", $teile[0])) {
echo "Teil1: " . $teile[0] . "<br>";
if (preg_match("/-/", $teile[0])) {
$subteile = preg_split("/-/", $teile[0]);
echo "Von " . $subteile[0] . " bis " . $subteile[1] . "<br>";
}
else {
echo "Nur ein Teil vorhanden: " . $teile[0] . "<br>";
}
}
else
echo "Teil 1 ungueltig<br>";
if (preg_match("/^(\d{2}|\d{3}|\d{4}|\d{5})\*?(-(\d{2}|\d{3}|\d{4}|\d{5})?\*?)?$/", $teile[1])) {
echo "Teil2: " . $teile[1] . "<br>";
if (preg_match("/-/", $teile[1])) {
$subteile = preg_split("/-/", $teile[1]);
echo "Von " . $subteile[0] . " bis " . $subteile[1] . "<br>";
}
else {
echo "Nur ein Teil vorhanden: " . $teile[1] . "<br>";
}
}
else
echo "Teil 2 ungueltig<br>";
}
else {
if (preg_match("/^(\d{2}|\d{3}|\d{4}|\d{5})\*?(-(\d{2}|\d{3}|\d{4}|\d{5})?\*?)?$/", $text)) {
echo "Nur ein Teil vorhanden: " . $text . "<br>";
if (preg_match("/-/", $text)) {
$teile = preg_split("/-/", $text);
echo "Von " . $teile[0] . " bis " . $teile[1] . "<br>";
}
else {
echo "Nur ein Teil vorhanden: " . $text;
}
}
else {
echo "Suche ungueltig";
}
}
?>
Danke euch im Voraus!
Kommentar