Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] "Usuwanie" zbędnego tekstu, W jaki sposób "wyciąć" niepotrzebny tekst
roobik
post 26.03.2010, 18:42:52
Post #1





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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ć...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
novy85
post 26.03.2010, 19:01:53
Post #2





Grupa: Zarejestrowani
Postów: 123
Pomógł: 16
Dołączył: 31.10.2007

Ostrzeżenie: (0%)
-----


można tak
  1. $tytul=str_replace('W jaki sposób','',$tytul);
Go to the top of the page
+Quote Post
roobik
post 26.03.2010, 19:15:53
Post #3





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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...?

Ten post edytował roobik 26.03.2010, 19:16:15
Go to the top of the page
+Quote Post
novy85
post 26.03.2010, 19:38:34
Post #4





Grupa: Zarejestrowani
Postów: 123
Pomógł: 16
Dołączył: 31.10.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
roobik
post 26.03.2010, 21:44:38
Post #5





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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ć?

Ten post edytował roobik 26.03.2010, 21:45:14
Go to the top of the page
+Quote Post
novy85
post 26.03.2010, 22:25:29
Post #6





Grupa: Zarejestrowani
Postów: 123
Pomógł: 16
Dołączył: 31.10.2007

Ostrzeżenie: (0%)
-----


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ł

Ten post edytował novy85 26.03.2010, 22:26:39
Go to the top of the page
+Quote Post
roobik
post 26.03.2010, 22:43:10
Post #7





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 15:36