Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Długość stringa bez znaczników
owned
post 14.08.2009, 17:20:50
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

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


Witam! Jak policzyć długość stringa pomijając znaczniki html ?
echo strip_tags($tekst);
Nie pomaga

Np
$tekst="<div>tekst stringa</div>";
wyświetla że jest ich 24, a jak pominąć te 11, które tworzą tagi html ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
kipero
post 14.08.2009, 17:23:12
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

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



questionmark.gif


--------------------
Go to the top of the page
+Quote Post
owned
post 14.08.2009, 18:12:36
Post #3





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

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


działa !
Ja robiłem:
echo strip_tags($tekst);
echo strlen($tekst);
I dlatego sie kaszaniło, dzięki!

Jeszcze jedno małe pytanko smile.gif

Jeżeli include'uje plik.php do main.php i chce policzyć jego cały string plik.php bez znaczników. Da się go w jakiś sposób zaimportować do zmiennej ? Jest jakieś inne wyjście oprócz wsadzenia wszystkiego co jest w plik.php do $zmienna="..." ?
Go to the top of the page
+Quote Post
Fifi209
post 14.08.2009, 18:16:14
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Nie wiem czy dobrze zrozumiałem...
  1.  
  2.  
  3. // tutaj include
  4.  
  5.  
  6.  

Taki trick.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
owned
post 14.08.2009, 18:27:10
Post #5





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

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


mam plik tresc.php:

<div id="cont">
<strong>blablabla</strong>
</div>

i również main.php

<?php
//$zmienna=include('tresc.php');
//strlen(strip_tags($zmienna));
?>

Chcę osiągnąć coś w tym stylu, myślę że teraz jest zrozumiałe


// korzystaj z BBcode!
// ayeo
Go to the top of the page
+Quote Post
ayeo
post 14.08.2009, 18:30:42
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


  1.  
  2. $zmienna = file_get_contents( "treść.php" );
  3.  




--------------------
Go to the top of the page
+Quote Post
Fifi209
post 14.08.2009, 18:41:23
Post #7





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


ayeo wiesz czemu Twoje rozwiązanie nie zadziała? Bo plik nie zostanie przepuszczony przez parser... A skoro coś jest w .php to zapewne musi przelecieć przez parser.

A autor dlaczego nie spróbował mojego rozwiązania ?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
owned
post 14.08.2009, 18:48:42
Post #8





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

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


Sposób ayeo działa problem pajawia się z innej strony.

Gdy zliczam
strlen(strip_tags($zmienna));

to wychodzi o jeden za dużo! Wynik to 6, a

tresc.php :
<strong>12345</strong>


W oba sposoby działają prawidłowo jednak w obu zwracana jest wartość o 1 za dużo.
Go to the top of the page
+Quote Post
dadexix
post 14.08.2009, 18:55:21
Post #9





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

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


moze jakas spacja tam gdzies jest, na koncu etc?
@fifi, a nie lepsze by bylo ob_get_contents;D?


--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post
owned
post 14.08.2009, 19:00:35
Post #10





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

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


Nie ma żadnych spacji. Nawet jak wyczyszczę cały plik tresc.php to pokazuje '1'
Go to the top of the page
+Quote Post
Fifi209
post 14.08.2009, 19:00:37
Post #11





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(owned @ 14.08.2009, 18:48:42 ) *
Sposób ayeo działa problem pajawia się z innej strony.

Gdy zliczam
strlen(strip_tags($zmienna));

to wychodzi o jeden za dużo! Wynik to 6, a

tresc.php :
<strong>12345</strong>


W oba sposoby działają prawidłowo jednak w obu zwracana jest wartość o 1 za dużo.

a zrób var_dump dla wyniku zamiast zliczać.
Nie jestem pewien ale może zaczynać się od zera w systemie binarnym dlatego pokazuje o jeden więcej.

Cytat(dadexix @ 14.08.2009, 18:55:21 ) *
moze jakas spacja tam gdzies jest, na koncu etc?
@fifi, a nie lepsze by bylo ob_get_contents;D?


Przyjrzyj się.
Jest tam. winksmiley.jpg

Ten post edytował fifi209 14.08.2009, 19:01:31


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
dadexix
post 14.08.2009, 19:04:35
Post #12





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

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


no to wniosek jest prosty - zawsze daje liczbe o jeden wyzsza, wiec po prostu daj -1;)

@fifi, oj ja slepy;) kawalek pozniej w poscie bylo file_get_contetns, i mi sie skojazylo ze to tam;) sory;)



--------------------
"Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...]
Grins: mów normalnie do mnie a nie po polsku
Ja: normalnie to znaczy jak?
Grins: No w PHP... inaczej mój parser ledwo kuma:)
Go to the top of the page
+Quote Post
owned
post 14.08.2009, 19:05:25
Post #13





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

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


No tak
var_dump($dlugosc);
zwraca wynik 1, wszystko jasne

Teraz tylko pytanie
Który sposób lepszy?
Go to the top of the page
+Quote Post
Fifi209
post 14.08.2009, 19:09:03
Post #14





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(owned @ 14.08.2009, 19:05:25 ) *
No tak
var_dump($dlugosc);
zwraca wynik 1, wszystko jasne

Teraz tylko pytanie
Który sposób lepszy?


Jeżeli treść jest statyczna to ayeo, jeżeli dynamiczna to mój.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
owned
post 14.08.2009, 20:35:47
Post #15





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

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


ok, dzięki wielkie za pomoc

Kurde no jeszcze raz jednak odświeżam biggrin.gif

Nie potrafię tego wszystkiego do kupy zebrać. Chcę żeby tekst skrócił się gdy będzie powyżej 100 znaków jednak po operacji substr i usunięciu znaczników html tekst nie jest stylowany. Czy jest to w ogóle możliwe dla includowanego tresc.php ?
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: 14.08.2025 - 10:25