![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 1 Dołączył: 7.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam pytanie co w tym kodzie jest źle:
Kod $nazwa = preg_replace('#(l|L)eica#si', '<a href="http://www.sitesearch.html"><em>leica</em></a>', $nazwa); ponieważ przy kilku takich wyrażeniach ani nie zamienia tych ciągów na odpowiedniki, a co gorsza, do bazy zapisywany jest pusty ciąg zamiast treści zamienionej -------------------- narazie brak sygnaturki
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 1 Dołączył: 7.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
to może mi powiesz czemu mi nie działa takie coś:
Kod <? require("includes/configure.php"); require("admin/includes/functions/database.php"); mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD) or die("kupa"); mysql_select_db(DB_DATABASE) or die("kupa1"); $q = "SELECT products_id, products_description, language_id FROM products_description WHERE language_id=4"; $query_result = mysql_query($q) or die("Zapytanie niepoprawne"); while($row = mysql_fetch_array($query_result)) { $id = $row['products_id']; $nazwa = tep_db_prepare_input($row['products_description']); $nazwa = preg_replace('#(t|T)achimetr(a|ów|y|u|ia)#si', '<a href="www.strona/tfearch.html"><em>\\1achimetr\\2</em></a>', $nazwa); $nazwa = preg_replace('#(s|S)tatyw(a|u|y|ów)#si', '<a href="www.strona/stfarch.html"><em>\\1tatyw\\2</em></a>', $nazwa); $nazwa = preg_replace('#(l|L)eica#si', '<a href="www.strona/leifrch.html"><em>leica</em></a>', $nazwa); $nazwa = preg_replace('#(d|D)ist(o|a)#si', '<a href="www.strona/disfch.html"><em>\\1ist\\2</em></a>', $nazwa); $nazwa = preg_replace('#(l|L)aser(y|a|u|ów|owa|owe)#si', '<a href="www.strona/lasfch.html"><em>\\1aser\\2</em></a>', $nazwa); $nazwa = preg_replace('#(r|R)adiotelefon(y|u|ów)#si', '<a href="www.strona/radfarch.html"><em>\\1adiotelefon\\2</em></a>', $nazwa); $nazwa = preg_replace('#(g|G)eodez(yjne|ja)#si', '<a href="www.strona/geodefarch.html"><em>\\1eodez\\2</em></a>', $nazwa); $nazwa = preg_replace('#(t|T)rimble#si', '<a href="www.strona/trifrch.html"><em>\\1rimble</em></a>', $nazwa); $nazwa = preg_replace('#(p|P)poziomic(a|e)#si', '<a href="www.strona/poziofrch.html"><em>\\1oziomic\\2</em></a>', $nazwa); $nazwa = preg_replace('#(ł|Ł)at(a|y)#si', '<a href="www.strona/łafarch.html"><em>\\1at\\2</em></a>', $nazwa); $nazwa = preg_replace('#(w|W)ęgielnic(a|e|y)#si', '<a href="www.strona/węgiefrch.html"><em>\\1ęgielnic\\2</em></a>', $nazwa); $nazwa = preg_replace('#(w|W)inkalk(a|u)#si', '<a href="www.strona/wifarch.html"><em>\\1inkalk\\2</em></a>', $nazwa); $nazwa = preg_replace('#(c|C)-geo', '<a href="www.strona/c-frch.html"><em>\\1-geo</em></a>', $nazwa); $nazwa = preg_replace('#(t|T)eodolit(a|u|ów|y)#si', '<a href="www.strona/teodofrch.html"><em>\\1eodolit\\2</em></a>', $nazwa); $nazwa = preg_replace('#(s|S)okkia#si', '<a href="www.strona/sfrch.html"><em>\\1okkia</em></a>', $nazwa); $nazwa = preg_replace('#(w|W)ykrywacz(e|a|u|ów|y)#si', '<a href="www.strona/wykryfarch.html"><em>\\1ykrywacz\\2</em></a>', $nazwa); $nazwa = preg_replace('#(l|L)okalizator#si', '<a href="www.strona/lokalizfearch.html"><em>\\1okalizator</em></a>', $nazwa); $nazwa = preg_replace('#(d|D)rogomierz(a|u|ów|e|y)#si', '<a href="www.strona/drogofarch.html"><em>\\1rogomierz\\2</em></a>', $nazwa); $nazwa = preg_replace('#(n|N)edo#si', '<a href="www.strona/nfrch.html"><em>\\1edo</em></a>', $nazwa); $nazwa = preg_replace('#(s|S)oppec#si', '<a href="www.strona/soppfrch.html"><em>\\1oppec</em></a>', $nazwa); $nazwa = preg_replace('#(r|R)ichter#si', '<a href="www.strona/richfrch.html"><em>\\1ichter</em></a>', $nazwa); $nazwa = preg_replace('#(r|R)adiodetection#si', '<a href="www.strona/radifrch.html"><em>\\1adiodetection</em></a>', $nazwa); $nazwa = preg_replace('#(d|D)alekomierz(a|u)e)#si', '<a href="www.strona/dalfarch.html"><em>\\1alekomierz\\2</em></a>', $nazwa); $nazwa = preg_replace('#(s|S)outh#si', '<a href="www.strona/soufrch.html"><em>\\1outh</em></a>', $nazwa); $nazwa = preg_replace('#(s|S)zkicownik(a|u|i|ów)#si', '<a href="www.strona/szkicfarch.html"><em>\\1zkicownik\\2</em></a>', $nazwa); $nazwa = preg_replace('#(g|G)ps#si', '<a href="www.strona/gf.html"><em>\\1ps</em></a>', $nazwa); $nazwa = preg_replace('#(r|R)uletk(a|i)#si', '<a href="www.strona/rufh.html"><em>\\1uletk\\2</em></a>', $nazwa); $nazwa = preg_replace('#(t|T)aśm(a|y)#si', '<a href="www.strona/tfrch.html"><em>\\1aśm\\2</em></a>', $nazwa); $nazwa = preg_replace('#(k|K)artografia#si', '<a href="www.strona/kartogfarch.html"><em>\\1artografia</em></a>', $nazwa); $nazwa = preg_replace('#(w|W)odowskaz(owa)#si', '<a href="www.strona/wodofrch.html"><em>\\1odowskaz\\2</em></a>', $nazwa); $nazwa = preg_replace('#(l|L)aserliner#si', '<a href="www.strona/lasefrch.html"><em>\\1aserliner</em></a>', $nazwa); $nazwa = preg_replace('#(m|M)iernik(a|ów|i)#si', '<a href="www.strona/mierfch.html"><em>\\1iernik\\2</em></a>', $nazwa); $nazwa = preg_replace('#(r|R)ektyfikacja#si', '<a href="www.strona/rektfarch.html"><em>\\1ektyfikacja</em></a>', $nazwa); $nazwa = preg_replace('#(p|P)rzegląd(y|ów)#si', '<a href="www.strona/przfch.html"><em>\\1rzegląd\\2</em></a>', $nazwa); $nazwa = preg_replace('#(s|S)erwis#si', '<a href="www.strona/sfarch.html"><em>\\1erwis</em></a>', $nazwa); $nazwa = preg_replace('#(b|B)udownictwo#si', '<a href="www.strona/budownfrch.html"><em>\\1udownictwo</em></a>', $nazwa); $nazwa = preg_replace('#(d|D)almierz(a|ów|e|y)#si', '<a href="www.strona/dalfrch.html"><em>\\1almierz\\2</em></a>', $nazwa); $nazwa = preg_replace('#(n|N)iwelator(a|u|y|ów)#si', '<a href="www.strona/niwfrch.html"><em>\\1iwelator\\2</em></a>', $nazwa);*/ $nazwa = preg_replace("#<P><FONT (.*?)><STRONG>(.*?)</STRONG></FONT></P>#si", "<h2 class='prod_h2'>\\2</h2>", $nazwa); $nazwa = preg_replace("#<P><FONT (.*?)><b>(.*?)</b></FONT></P>#si", "<h2 class='prod_h2'>\\2</h2>", $nazwa); $nazwa = preg_replace("#<P><b><FONT (.*?)>(.*?)</FONT></b></P>#si", "<h2 class='prod_h2'>\\2</h2>", $nazwa); $nazwa = preg_replace("#<b>(.*?)</b>#si", "<strong>\\1</strong>", $nazwa); $tekst = mysql_escape_string($nazwa); $q1 = "UPDATE products_description SET `products_description`='$tekst' WHERE products_id=$id"; if(mysql_query($q1)) echo $id ."<br />"; echo mysql_error().'<br/>'; } ?> nie zamienia słów na odpowiedniki linkowe, i wywala wszystko z opisu w bazie -------------------- narazie brak sygnaturki
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
masz trzy literówki
tu Kod $nazwa = preg_replace('#(d|D)alekomierz(a|u)e)#si', '<a href="www.strona/dalfarch.html"><em>\\1alekomierz\\2</em></a>', $nazwa); tu Kod $nazwa = preg_replace('#(c|C)-geo', '<a href="www.strona/c-frch.html"><em>\\1-geo</em></a>', $nazwa); i tu Kod $nazwa = preg_replace('#(n|N)iwelator(a|u|y|ów)#si', '<a href="www.strona/niwfrch.html"><em>\\1iwelator\\2</em></a>', $nazwa);*/ a poza tym działa jak należy ![]() http://www.informel.pl/~bchmura/ble.php Ten post edytował b_chmura 25.10.2007, 23:27:13 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 1 Dołączył: 7.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
ok dzięki, działa z jednym wyjątkiem jak, a dokładniej chodzi mi np o:
Kod $nazwa = preg_replace('#(t|T)achimetr(a|ów|y|u|ia)#si', '<a href="www.strona/tfearch.html"><em>\\1achimetr\\2</em></a>', $nazwa); zamienia odmiany poprawnie jednak jak zrobić, by zamieniało także (t|T)achimetr, czyli bez końcówek, i drugie pytanie jak ograniczyć aby tylko raz zamieniał tzn mam takie coś że w/w słowo zamienia mi ze standardu, ale jak dojdą mi nowe pozycje to będę chciał powtórzyć działanie skryptu, czyli nie powinien zamieniać powtórnie tych słów. jak zrobić właśnie to by nie zamieniał ponownie bo wtedy się robi straszny bałagan, bo w linku jeśli znajdzie się też to słowo kluczowe to będzie link w linku i objęte jeszcze jednym linkiem -------------------- narazie brak sygnaturki
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
Cytat zamienia odmiany poprawnie jednak jak zrobić, by zamieniało także (t|T)achimetr, czyli bez końcówek, po nawiasie daj znak zapytania Cytat jak ograniczyć aby tylko raz zamieniał tzn mam takie coś że w/w słowo zamienia mi ze standardu, ale jak dojdą mi nowe pozycje to będę chciał powtórzyć działanie skryptu, czyli nie powinien zamieniać powtórnie tych słów. jak zrobić właśnie to by nie zamieniał ponownie bo wtedy się robi straszny bałagan, bo w linku jeśli znajdzie się też to słowo kluczowe to będzie link w linku i objęte jeszcze jednym linkiem proponowałbym raz stosować tą funkcje przy wyświetlaniu. Ewentualnie w wyrażeniu zaznacz ze ciąg znaków nie może sie zaczynać "> i kończyć </a> |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 1 Dołączył: 7.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
za pierwsze dzięki, zapomniałem o znaku zapytania i dawałem + i się dziwiłem że nie było innego efektu
proponowałbym raz stosować tą funkcje przy wyświetlaniu. Ewentualnie w wyrażeniu zaznacz ze ciąg znaków nie może sie zaczynać "> i kończyć </a> tzn. możesz troszkę jaśniej ![]() b_chmura pomórz proszę bo to jest bardzo ważne dla mnie -------------------- narazie brak sygnaturki
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
w bazie przetrzymuj zwykły tekst dopiero przy wyświetlaniu formatuj go przed odpowiednią funkcje
W Twoim wypadku:
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 1 Dołączył: 7.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
to wiem, ale mi chodzi, o wykonanie tego:
Cytat Ewentualnie w wyrażeniu zaznacz ze ciąg znaków nie może sie zaczynać "> i kończyć </a>
-------------------- narazie brak sygnaturki
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
Kod '#[^><em>](t|T)achimetr(a|ów|y|u|ia)[^</em></a>]#si' coś w ten deseń |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.07.2025 - 01:16 |