Kui käsitlete WordPressi eranditult ajaveebirakendusena või isegi vabamas mõttes sisuhaldussüsteemina, siis olete tõenäoliselt harjunud kasutama redaktorit või väljavõttevälja, et kirjutada tiiserit ja seejärel lisada linki Loe edasi.
WordPress veebirakendustele (taas)
Neile, kes on seda saiti mõnda aega lugenud, huvitab mind konkreetselt WordPressi kasutamine veebirakenduste arendamise alusena (vt ka seda, seda, seda ja seda ).
Selle postituse tegemise ajal on see umbes kuus aastat vana artikkel.
Nii et mõnikord võib esiotsas renderdatav sisu pärineda kolmanda osapoole allikast.
Tagasi sisu juurde
See tähendab, et rakendus töötab järgmiselt:
- võtke ühendust kolmanda osapoole API-ga,
- importida kõnest andmeid ja vajadusel analüüsida,
- kirjutage see andmebaasi,
- esitama teabe nõudmisel esiküljel.
Ülaltoodud sammude vahele võib minna palju, kuid peamine, mida selles postituses jagada tahan, on tõhus viis hõlpsaks teksti kärpimiseks, kasutades esiotsas renderdamiseks PHP-d.
See on kasulik tiiseri pakkumiseks, kolmandate osapoolte saitidele linkimiseks ja muuks ilma sisu käsitsi kirjutamise või muutmiseta.
Jagatava funktsiooni näidise andmiseks on kasulik esitada mõned nõuded. Need on selle postituse jaoks meelevaldsed, kuid teostus peaks olema piisavalt konkreetne, et saaksite selle probleemideta postitusse visata.
Oletame:
- tõmbame teksti kolmanda osapoole API-st,
- andmed on salvestatud kuskil andmebaasis,
- andmed on lihttekst (struktuuris ei ole märgistusi ega muud tüüpi veebipõhiseid üksusi),
- vajame funktsiooni, mis võtab teksti vastu, ja pikkust teksti kärpimiseks.
Arvestades neid nõudeid, saame seadistada funktsiooni teksti ja argumentide pikkuse vastuvõtmiseks. Kui tekst on määratud pikkusest väiksem või sellega võrdne, pole midagi teha; vastasel juhul saame teksti kärpida määratud pikkuseni ja lisada lõpu ellipsid.
<?php
/**
* Truncates the specified text to the specified length to the last whole word and
* adds ellipses to the end of the truncated string.
*
* @param string $text The text to truncate.
* @param int $length The maximum allowed length of the text.
* @return string The text if it's less than the length of the specified length or the text truncated to the specified length.
*/
public function truncate($text, $length)
{
if ($length >= strlen($text)) {
return $text;
}
return preg_replace(
"/^(.{1,$length})(s.*|$)/s",
'1...',
$text
);
}
Selle rakendused WordPressi kontekstis võivad tuleneda kohandatud tabelites, postituse metaandmetes, postitustabelis või põhimõtteliselt mis tahes kohas, kuhu toortekst on salvestatud ja mida soovite esiotsas renderdada, salvestatud andmete lugemisest. .
Kui tekstis peaks olema muud sisu, näiteks HTML-i või muid üksusi, võib olla vaja seda teha. Kui see on WordPressis, on enne teksti kärpimist nende andmete töötlemiseks filtreid ja muid vorme, kuid see ei ole PHP-s teksti hõlpsa kärpimise mõte, eks?
Nii et kasutage seda vähemalt ainult teksti jaoks ja maksimaalselt tehke tekstis mööndusi muud tüüpi sisu jaoks, enne kui sisestate selle jaotisesse preg_replace, ja peaksite olema valmis.