Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Usuwanie słów mniejszych niż 3 litery
Forum PHP.pl > Forum > Przedszkole
Watt
Witam,

Mam plugin z tagami (wygląd tego w mysql to np. plugin, o, tagach, i). Jak usunąć slowa, które mają mniej niż 3 litery (czyli wygląda zmieniłby się na: plugin, tagach ). Wiem, że do tego można użyć funkcji preg_replace, ale nie wiem jak w niej zdefiniowac dłogść znaków. Bardzo prosze o pomoc.

Pozdrawiam
slawny
Weź to napisz po polskiemu
kamil4u
Cytat
do tego można użyć funkcji preg_replace

Nie wiem czy to najwydajniejsze rozwiązanie, ale to będzie coś w stylu(nie wiem czy dokładnie bo dawno się w to nie bawiłem):
  1. <?php preg_replace("#[^s]{,3}#", '', $zmienna); ?>


Kod
#[^\s]{,3}#
:
[^\s] <-- dowolny znak bez białych(np. spacji )
{,3} <-- do 3 znaków
Watt
Po prostu chodzi mi o usunięcie słów które mają mniej niż trzy litery (np. i, a, o, po, za, ok). Oraz usunięciu przecinków koło nich. tagi w bazie są oddzielone jedną spacja i jednym przecinkiem (np. lubie, jeść, morele, i, inne, owoce). Funkcja powyżej nie usuwa mi tych przecinków za bardzo ;/ . Wiem, że już wyczerpuje limit pomocy na dziś, ale staram się jak najwcześniej skończyć skrypt (drugi w moim życiu tongue.gif).

Pozdrawiam
slawny
A gdzie one siedzą? Jakaś struktura bazy czy coś...
Oddzielone spacją i przecinkiem - chyba nie chcesz mi powiedzieć ze masz w jednym wierszu zapisane?
kamil4u
  1. <?php preg_replace("#[, ]?[^s]{,3}#", '', $zmienna); ?>
Watt
A wybaczcie, każdy temat ma swoje taki w osobnym wierszu w bazie mysql.
Kod
TEMAT                    TAG
Lubie śliwki              Lubie, sliwki


@Kamil4u, dałem plusa, ale kod dalej nie działa.
kamil4u
Cytat
@Kamil4u, dałem plusa, ale kod dalej nie działa.

Co znaczy nie działa? Spróbuj to:
Kod
<?php preg_replace("#[, ]*[^\s]{,3}#", '', $zmienna); ?>
kefirek
Przcierz to można odrazu w zapytaniu zrobić

  1. DELETE FROM tabela WHERE CHARACTER_LENGTH(tag) < 3

Albo użyc mozna w zapytaniu REGEXP
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.