Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zamienianie "ci" na "Ci" itp. z wszystkimi zwrotami grzecznościowymi ..
Forum PHP.pl > Forum > PHP
acztery
Hej,

Mam bazę art. (około 5 tys, niektóre są dość długie). Teraz szukamy w ich treści słowa "ci " i potem będę chciał je zamienić na "Ci " to samo z "Tobie " itp..

mam takie zapytanie które listuję wszystko gdzie mogę to zrobić z poziomu PHP.

  1.  
  2. SELECT * FROM modules_desc WHERE html_max html_max LIKE BINARY '%ci %'
  3.  


I ono ładnie listuję to co chcę.

Teraz zastanawiam się jak obrobić tak dużą ilość danych tak by nie było kłopotów albo żeby nie zepsuł jakiegoś artykułu.

Myślę nad albo zapytaniem UPDATE albo nad jakimś wyrażeniem regularnym jak myślicie co by było najlepsze macie może jakieś woje takie metody(funkcje) po co odkrywać 2 raz koło...

Przez myśl przeszło mi też coś takiego:

  1. UPDATE modules_desc SET html_max = (REPLACE (html_max,'ci ', 'Ci ')); WHERE html_max html_max LIKE BINARY '%ci %'


ale czy to mi nie zepsuję czegoś, bo tutaj by mnie Klient zabił... smile.gif

Sephirus
Przede wszystkim samo
Kod
"%ci %"
nie wystarczy..

Musisz wziąć pod uwagę, że to może być na przykład teskt w stylu:

Kod
budynek o wysokośCI dużo większej (...)

#albo

Tych pieniędzy bank nie wypłaci już CI.


i wtedy jest lipa bo tego nie obejmie tongue.gif

Należało by (moim zdaniem) zrobić dubel tabeli, odczytać wartości z pierwszej, zamienić i wrzucić do drugiej. Zamienić nazwy tabel ze sobą i potestować jak to wygląda. W razie czego wystarczy tylko znowu zmiana nazwy i wracamy do tego co było...

Co do samej zamiany to wydaje mi się mimo wszystko, że najlepsze tu będą wyrażenia... Dokładniej rzecz biorąc takie które sprawdzą "ci" po i przed którym nie ma litery ani cyfry - i takie zamienią na przykłąd:

Kod
/[^a-z0-9]+ci[^a-z0-9]+/


Z innymi wyrazami tak samo wink.gif
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.