Skróć tekst za pomocą preg_replace()


775
Jeśli chcesz skrócić tekst opisu i usunąć niechciane znaki specjalne, istnieje skuteczny sposób, aby to zrobić.
Jest to korzystne na przykład w produkcie_listing.php.

Skrócony tekst nie jest obcinany w środku wyrazu, lecz dopiero później.
Sprawdź, czy w zapytaniu sql zdefiniowano następującą sekcję:

SUBSTRING_INDEX(pd.products_description, ' ', '10') as products_description,

Zmień to tak, aby zapytanie podstawowe wyglądało następująco:

pd.products_description,

Następnie wstaw tę sekwencję kodu:

    $originaldescriptionstring = $variable['products_description']; 
    $outputdescriptionstring = preg_replace ('/<[^>]*>/', '', $originaldescriptionstring);
    $dsc_string	= $outputdescriptionstring;
    $dsc_length	= '45';
    $dsc_output	= preg_replace( '/[^ ]*$/', '', substr( $dsc_string, 0, $dsc_length ) ) . ' ...';

W miejscu wystawionego opisu produktu:
Przykład:

 . $variable['products_description'] . 

Zastąp następującym:

 . $dsc_output . 

albo

<?php echo $variable['products_description'];?>

Zastąp następującym:

<?php echo $dsc_output;?>

Tekst zostaje skrócony do 45 liter, usunięte są wszystkie znaki specjalne, a ostatnie słowo nie jest obcięte w środku.


Informacja(1)
Informacje ogólne
 Lazy Loading
Licznik postów
Aktualny stan informacji:
Kategorie: 8
Posty: 104
Strony wsparcia: 51
Pobieranie dla członków: 104
Licznik pobierania: 646