Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] "Usuwanie" zbędnego tekstu
Forum PHP.pl > Forum > Przedszkole
roobik
Witam!
Czasem się zdarza, że początki tytułów artów są takie same w kilkunastu artach (masło maślane, ale zaraz wyjaśnię o co chodzi).
Załóżmy, że w bazie jest ok. 400 rekordów, a tabela składa się z pól:
id, tytul, text
I teraz tak. Podczas, gdy do wyświetlenia pełnego arta, potrzebny jest pełny tytuł, to już niekoniecznie jest potrzebna część tytułu arta na str głównej. Załóżmy, że kilka(naście) artów ma tytyuł rozpoczynający się od słów: "W jaki sposób" - wyświetlając tytuły artów na str głównej nie potrzebuję, by ponad dwadzieścia razy pod rząd wyświetlał się napis "W jaki sposób", lecz to co się znajduje w dalszej części tego tytułu.
Pytanie:
Jak więc obciąć/usunąć/wyciąć tę część z tytułu arta, by została tylko ta część, którą chcę wyświetlić?

Bardzo proszę o odpowiedzi... Zupełnie nie wiem, jak się do tego zabrać...
novy85
można tak
  1. $tytul=str_replace('W jaki sposób','',$tytul);
roobik
Tak, tylko nasuwa się kolejne pytanie:
system musiałby "rozpoznać" czy tekst (tytuł) rozpoczyna się od słów "W jaki sposób" i dopiero potem wyświetlić resztę (którą podałeś). Prawdopodobnie musiałby być to jakiś if... tylko jaki...?
novy85
fakt może ''W jaki sposób" może występować jeszcze wewnątrz zdania, to może tak
  1. if(strpos($tytul,'W jaki sposób')==0)
  2. $tytul=substr($tytul,14,strlen($tytul));


nie jest to pewnie najlepszy sposób ale działa

sprawdza pozycję 'W jaki sposób' i jeżeli znajdzie ją na początku zdania to zwróci 0 i wtedy ze zmiennej $tytul zwracane są wszystkie znaki od 14 do ostatniego
roobik
Działać działa smile.gif
Lecz ja myślałem o czym innym. Mianowicie, żeby zapisać poniższe słowa w języku php:

jeśli: na początku tytułu pojawi się napis "W jaki sposób"
pokaż: pozostałą część tytułu (czyli kod, który podałeś wyżej)
w przeciwnym wypadku: pokaż cały tytuł

czyli coś jakby:
if (na_początku =='W jaki spsób') {$tytul='Pozostała część tytułu';}
else
$tytul = 'pełny tytuł';

Da radę coś takiego zrobić?
novy85
no to tak to przecież działa, masz np zmienną $tytul w której zapisany jest tytuł artykułu
  1. $tytul = 'Jakis tytuł';
  2.  
  3. f(strpos($tytul,'W jaki sposób')==0)
  4. $tytul=substr($tytul,14,strlen($tytul));
  5.  
  6. echo $tytul;


wyświetli: Jakis tytuł

ponieważ funkcja strpos nie zwróci pozycji czyli nie będzie 0 i linijka $tytul=substr($tytul,14,strlen($tytul));
się nie wykona

w przypadku gdy:

  1. $tytul = 'W jaki sposób jakis tytuł';
  2.  
  3. f(strpos($tytul,'W jaki sposób')==0)
  4. $tytul=substr($tytul,14,strlen($tytul));
  5.  
  6. echo $tytul;


wyświetli: Jakis tytuł
roobik
Tak jest smile.gif
Sory... mój błąd.... ponieważ w jednej z linijek (w kodzie miałem tutul zamiast tytul i wywalało mi cały czas białą stronę biggrin.gif ....
Dzięki bardzo .... Oczywiście "Pomógł" smile.gif

Pozdrawiam!
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.