Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z preg_match
Forum PHP.pl > Forum > PHP
criiis
Witam,
Zawsze się staram sam rozwiązywać problemy, ale z tym konkretnym próbuje się uporać od 2 dni i nic. Otóż mam kawałek kodu, który wczytuje text z bazy danych. Wszystko działa poprawnie, ale tam gdzie w tekscie znajduje slowo <br /> wypisuje mi "dane" + "===TEST===".
Obrazowo: zmienna $text wczytuje text "Ala<br /> ma kota<br />." Warunek IF wypisuje mi "Ala<br /> ma kota<br />. ===TEST===", a chciałbym sam tekst "===TEST===".
Kod
            
"\t\t<name>".
$text=$row[products_name];
preg_match("/<br \/>/", $text, $wynik);
$count=count($wynik);
if($count>0)
{
print "===TEST===";
$i=0;
}else{
echo $row[products_name];
}
echo "</name>\n".


Ktoś ma jakieś pomysły :?:
Cezar708
wydaje mi się że masz problem w innej części skryptu. Może po prostu prześlij większą całość... wszystko wskazuje na że nie zwiększasz pointera tablicy gdy wypisujesz "===test==="

albo spróbuj:
  1. <?php
  2. $text=$row[products_name];
  3. if( preg_match("/<br />/", $text) )
  4. {
  5. print "===TEST===";
  6. $i=0;
  7. }else{
  8. echo $row[products_name];
  9. }
  10. ?>


poza tym dość dziwnie wyglądają kropki na końcu drugiej i ostatniej linijki. Może to też wprowadzić błąd/
criiis
Witam, ciągle to samo. Nie wiem jaka może być przyczyna. Jeżeli stworzę nowy plik, a w nim tylko to same polecenie i przypisze zmiennej $text='xxx' - xxx jakis tekst: TO DZIAŁA. Wiecie co może być przyczyną?

  1. <?php
  2.  
  3. echo "<?xml version=\"1.0\" encoding=\"ISO-8859-2\"?>";
  4. ?>
  5.  
  6. <!DOCTYPE pasaz:Envelope SYSTEM "loadOffers.dtd">
  7. <pasaz:Envelope xmlns:pasaz="http://schemas.xmlsoap.org/soap/envelope/">
  8. <pasaz:Body>
  9. <loadOffers xmlns="urn:ExportB2B">
  10. <offers>
  11. <?php
  12.  
  13.  
  14.  
  15. $db_server = &#092;"*********\";
  16. $db_user = &#092;"*********\"; 
  17. $db_pass = &#092;"**********\"; 
  18. $db_name = &#092;"**********\";
  19.  
  20. function check($string){
  21.     $string    = ereg_replace (&#092;"\"\", \"'\", $name);
  22.     return $string;
  23. }
  24.  
  25. $czas = strftime(&#092;"%Y-%m-%d\",time());
  26. $connection = mysql_connect(&#092;"$db_server\",\"$db_user\",\"$db_pass\")    or die(\"Nie mozna sie polaczyc\");
  27. $db = mysql_select_db(&#092;"$db_name\", $connection) or die(\"Nie mozna wybrac podanej bazy danych\");
  28. mysql_query(&#092;"SET NAMES 'latin2'\");
  29.  
  30. //produkty 
  31. $sql =  &#092;"SELECT pd.products_name,p.products_id, p.products_model, p.products_price, 
    c
  32. .categories_id, cd.categories_name, m.manufacturers_name FROM products p,product
  33. _to_categories pc,categories c,products_description pd,categories_description cd
  34. manufacturers m WHERE p.products_status =1 AND p.products_id = pc.products_id AN
  35.  p.products_id = pd.products_id AND pd.language_id=1 and cd.categories_id=pc.cat
  36. gories_id and pc.categories_id=c.categories_id and c.porownywarki=1 and m.manufa
  37. turers_id=p.manufacturers_id AND p.products_quantity>0 &#092;";
  38. $sql_result = mysql_query($sql,$connection) or die(&#092;"Couldn't execute query: $sql\");
  39.  
  40. while ($row = mysql_fetch_array($sql_result)) {
  41.     $sql2 = &#092;"select specials_new_products_price p from specials where status=1 and (expires_date > '$czas' or expires_date = '0000-00-00 00:00:00') and products_id = $row[products_id]\";
  42.     $sql2_result = mysql_query($sql2,$connection) or die(&#092;"Couldn't execute query.\");
  43.     if($row2 = mysql_fetch_array($sql2_result)) $row[products_price] = $row2[p];
  44.  
  45. $newName = substr($row[products_name],0,strpos($row[products_name],&#092;"
  46. &#092;"));
  47.     echo &#092;"\t\n\".
  48.             &#092;"\t\t$row[products_id]\n\".
  49.             &#092;"\t\t\".
  50. $text=$row[products_name];
  51. if( preg_match(&#092;"/
  52. /&#092;", $text) )
  53. {
  54.   print &#092;"===TEST===\";
  55.   $iada=0;
  56. }else{
  57.   echo $row[products_name];
  58. }
  59. echo &#092;"\n\".
  60.             &#092;"\t\t\".round($row[products_price]*1.22,2).\"\n\". 
  61.             &#092;"\t\t\"; ?>******=\n\".
  62.             \"\t\t$row[categories_name]\n\".
  63.             \"\t\t$newName\n\".    
  64.                     \"\t\t\n\".
  65.             \"\t\t\t\n\".
  66.             \"\t\t\t\tKod_producenta\n\".
  67.             \"\t\t\t\t$row[products_model]\n\".
  68.             \"\t\t\t\n\".
  69.             \"\t\t\t\n\".
  70.             \"\t\t\t\tProducent\n\".
  71.             \"\t\t\t\t$row[manufacturers_name]\n\".
  72.             \"\t\t\t\n\".
  73.             \"\t\t\n\".
  74.         \"\t\n\";
  75.  
  76. }
  77. mysql_free_result($sql_result);
  78. mysql_close($connection);
  79. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.