Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: 50 pierwszych wyrazów
Forum PHP.pl > Forum > PHP
Zajec
Chcę ze stringa wyciągnąć 50 pierwszych wyrazów. Obecnie robię to tak:

  1. <?php
  2. preg_match('/^(.*? ){0,50}/', $art, $tmp);
  3. ?>


I wyświetlam wyrzucając
$tmp[1] . $tmp[2] . $tmp [3] . $tmp[4]


Czy można jakoś inaczej pobawić się nawiasami w wyrażeniu regularnym, aby pierwasze 50 wyrazów było wyciągnięte jako jeden element tablicy?
Prph
A nie lepiej tak:

  1. <?php
  2. $sNapis = strstr($sTekst, 0, 50);
  3.  
  4. // Teraz do stronga mozna odwolac sie jak do tablicy (nie pamietam tego dokladnie)
  5. ?>


Adrian.

Edit: moj blad - przeczytalem pierwszych liter, a nie 50 wyrazow winksmiley.jpg

Edit2: nie strstr, tylko substr. Dalem plame winksmiley.jpg
bendi
Cytat(Zajec @ 6.08.2006, 09:07 ) *
Czy można jakoś inaczej pobawić się nawiasami w wyrażeniu regularnym, aby pierwasze 50 wyrazów było wyciągnięte jako jeden element tablicy?

Nie trzeba się niczym bawić - cały złapany tekst jest przechowywany pod kluczem 0.
Jabol
  1. <?php
  2. implode("", $tmp);
  3. ?>
nazihipi
  1. <?php
  2. $arr = explode( ' ', $string ); 
  3.  /**
  4.   * szukane slowa znajduja sie w $arr[0] ... $arr[49]
  5.   * można je teraz zlaczyc w jeden string za pomoca funkcji implode()
  6.   */
  7. ?>
hwao
  1. <?php
  2. preg_match('/^((.*? ){0,50}){1}/', $art, $tmp);
  3. ?>

  1. <?php
  2. preg_match('/^((([^ ]+) ){50}){1}/', $art, $tmp);
  3. ?>
Zajec
Cytat(hwao @ 6.08.2006, 18:16 ) *
  1. <?php
  2. preg_match('/^((.*? ){0,50}){1}/', $art, $tmp);
  3. ?>

Coś takiego chciałem, dziękuję. Nie wiedziałem, że można użyć zagnieżdżonych nawiasów.
hwao
Jak Ci wyłapuje nie potrzebne atomy (w tablice laduje) to można jeszcze je powylaczac smile.gif
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.