Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Długość stringa bez znaczników
Forum PHP.pl > Forum > Przedszkole
owned
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 ?
kipero

questionmark.gif
owned
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="..." ?
Fifi209
Nie wiem czy dobrze zrozumiałem...
  1.  
  2.  
  3. // tutaj include
  4.  
  5.  
  6.  

Taki trick.
owned
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
ayeo
  1.  
  2. $zmienna = file_get_contents( "treść.php" );
  3.  


Fifi209
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 ?
owned
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.
dadexix
moze jakas spacja tam gdzies jest, na koncu etc?
@fifi, a nie lepsze by bylo ob_get_contents;D?
owned
Nie ma żadnych spacji. Nawet jak wyczyszczę cały plik tresc.php to pokazuje '1'
Fifi209
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
dadexix
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;)

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

Teraz tylko pytanie
Który sposób lepszy?
Fifi209
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.
owned
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 ?
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.