PLZ suchen

preg_match

Also in meinem Fall mit preg_match wäre es sinnvol einen Pattern
zu defiieren und dann folgendes zu machen:

if (!empty ($search))
{
unset($name); # Variable leeren
if (preg_match ($search, $adresslines[$i]))
{
$entry = explode("^", $adresslines[$i]);
$name = htmlentities($entry[0]);
$adressid = $entry[1];
$pradresse = htmlentities($entry[2]);
$prort = htmlentities($entry[3]);
$prtelefon = htmlentities($entry[4]);
$prmobil = htmlentities($entry[5]);
$prfax = htmlentities($entry[6]);
$prema = htmlentities($entry[7]);
$prurl = htmlentities($entry[8]);
$geburt = htmlentities($entry[9]);
$faname = htmlentities($entry[10]);
$faadresse = htmlentities($entry[11]);
$faort = htmlentities($entry[12]);
$fatelefon = htmlentities($entry[13]);
$famobil = htmlentities($entry[14]);
$fafax = htmlentities($entry[15]);
$faemail = htmlentities($entry[16]);
$fahomepage = htmlentities($entry[17]);
$bemerkung = htmlentities($entry[18]);
$bemerkung = str_replace("LineSkip","<br>",$bemerkung);
}
}

oder bin ich jetzt falsch gewickelt ?
 
:-(

Wohl eher falsch...


<b>
Warning: preg_match() expects at least 2 parameters, 1 given in
plzsuche.php on line 66

</b>
 
Re: :-(

Original geschrieben von vsitor
Wohl eher falsch...


<b>
Warning: preg_match() expects at least 2 parameters, 1 given in
plzsuche.php on line 66

</b>
Ich schließe daraus, dass du mein Tutorial nicht gelesen hast. preg_match kann nicht analog zu eregi genutzt werden. Also lies bitte mein Tutorial.
 
Hallo

hab ich, und ich habe wie du aus meinem script sehen kannst das EREGI herausgenommen.

Jetzt muss ich die Klassen definieren und dabei haperts.

Warum kann man Tutorials nicht so schreiben das auch newbies sie verstehen :-)

Ich finde das TUT ist ja sehr umfangreich, aber wenn man damit noch nicht zu tun hatte wirds einem schnell "zu hoch".

Gibt es denn keine andere Lösung ?
 
Du wirst ja sehen, dass man sich einen regulären Ausdruck bauen muss. Und das sollte man schaffen. Das Tutorial ist, verglichen mit anderen RegEx Tutorials, schon recht einfach geschrieben, aber ich werde das mal exemplarisch für dich machen, dass einfach nach alles gesucht wird, was mit dem search String anfängt.
PHP:
 if (preg_match ($search, $adresslines[$i])) //Deine Zeile, wird ersetzt durch

// Die folgenden zwei Zeilen
$pattern = "/^".$search."/";
if(preg_match($pattern, $adresslines[$i]))
 
Danke

Hallo und vielen Dank.

Ich habe jetzt durch dein Beispiel mehr begriffen als durch das Tutorial :-)
(das Prinzip / Syntax jedenfalls)

Allerdings sucht er jetzt garnicht mehr :-(
Wenn ich jetzt aber etwas eingebe, dann zeigt er keine Ergebnisse mehr an.

Ich weiss das das ^ dafür steht, das alles was eingegeben wird am anfang der Kette steht. Aber nach Eingabe der ersten 3 Zahlen zeigt er an
"Ihr Suchergebniss" und dann kommt nix :-(

Woran kann das liegen ?
Vielleicht das ich in mehreren Feldern suche ? (Stadt, Str. usw) ?
 
for ($i = 0; $i < $adressnum; $i++)

ich hoffe du kannst damit was anfangen ....

Danke echt für deine Gedult :rolleyes:
 
Was steht denn z.B. in $adressline[$i] drin, dass danach noch am ^ explodet werden muss? Ein "Beispieldatensatz" wäre evtl. hilfreich.
 
PHP:
if(preg_match($pattern, $adresslines[$i]))
        {
         $entry      = explode("^", $adresslines[$i]);
         $name       = htmlentities($entry[0]);
         $plz             = $entry[1];
         $ort           = htmlentities($entry[2]);
 }
     }

## ADRESSEN-AUSGABE ##
  if(!empty ($name))
     {
     echo ("
      <br>
      <center>
      <table bgcolor=f9f9f9 border=1 width=\"450\">
        <tr>
          <th  width=\"30%\">$table_Name</th>
          <th  width=\"70%\" colspan=\"3\">$name</th>
        </tr>
        <tr>
          <td bgcolor=f0f0f0>
          <img src=\"faker.gif\">
          </td>
		  <td bgcolor=f0f0f0>
		   <img src=\"faker.gif\">
          </td>
        </tr> ");


 if (!empty($plz) or !empty($ort))
        {
         echo ("
           <tr>
             <td  ><b>PLZ, Ort:</b></td>
             <td  >$plz &nbsp; $ort</td>
           </tr> ");
           }
      echo ("</table>");
     }
  }

meinst du das ?
 
Zuletzt bearbeitet:
Zurück