✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Kuinka katkaista tekstiä helposti PHP:ssä

17

Jos käsittelet WordPressiä yksinomaan blogisovelluksena tai, jopa liberaalimmassa mielessä, sisällönhallintajärjestelmänä, olet todennäköisesti tottunut käyttämään editoria tai otekenttää teaserin kirjoittamiseen ja lisäämään sitten Lue lisää -linkin.

WordPress verkkosovelluksille (taas)

Niille, jotka ovat lukeneet tätä sivustoa jonkin aikaa, olen erityisen kiinnostunut WordPressin käyttämisestä verkkosovelluskehityksen perustana (katso myös tämä, tämä, tämä ja tämä ).

Tämän julkaisun aikaan tämä artikkeli on noin kuusi vuotta vanha.

Joten joskus käyttöliittymässä renderöimäsi sisältö saattaa olla peräisin kolmannen osapuolen lähteestä.

Takaisin sisältöön

Eli sovellus toimii näin:

  1. ota yhteyttä kolmannen osapuolen sovellusliittymään,
  2. tuoda tiedot puhelusta ja jäsentää niitä tarvittaessa,
  3. kirjoittaa se tietokantaan,
  4. esittää tiedot käyttöliittymässä pyydettäessä.

Yllä olevien vaiheiden väliin mahtuu paljon, mutta tärkein asia, jonka haluan jakaa tässä viestissä, on tehokas tapa lyhentää tekstiä helposti PHP:n avulla renderöimään käyttöliittymässä.

Tämä on hyödyllistä tarjota teasereita, linkittää kolmansien osapuolien sivustoille ja paljon muuta ilman, että sinun tarvitsee kirjoittaa tai muokata sisältöä manuaalisesti.

Jotta voisin antaa esimerkin jaettavan funktion käyttötapauksesta, on hyödyllistä asettaa joitain vaatimuksia. Ne ovat mielivaltaisia ​​tälle viestille, mutta toteutuksen tulee olla tarpeeksi konkreettinen, jotta voit pudottaa tämän postaukseen ilman ongelmia.

Oletetaan:

  • haemme tekstiä kolmannen osapuolen sovellusliittymästä,
  • tiedot on tallennettu jonnekin tietokantaan,
  • tiedot ovat pelkkää tekstiä (rakenteessa ei ole merkintöjä tai muita verkkopohjaisia ​​kokonaisuuksia),
  • tarvitsemme funktion, joka hyväksyy tekstin, ja pituuden tekstin katkaisemiseksi.

Nämä vaatimukset huomioon ottaen voimme asettaa funktion hyväksymään tekstiä ja argumenttien pituuden. Jos teksti on pienempi tai yhtä suuri kuin määritetty pituus, ei ole mitään tekemistä. muussa tapauksessa voimme lyhentää tekstin määritetyn pituiseksi ja lisätä ellipsin loppuun.

Tässä on koodi:

<?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
    );
}

Toteutukset tähän WordPressin kontekstissa voivat tulla lukemalla mukautettuihin taulukoihin, post-metatietoihin, postaustaulukkoon tallennettuja tietoja tai periaatteessa missä tahansa paikassa, johon raakateksti on tallennettu ja jonka haluat hahmontaa käyttöliittymässä. .

Jos tekstissä on muuta sisältöä, kuten HTML-koodia tai muita kokonaisuuksia, siihen on ehkä tehtävä rajoituksia. Jos se on WordPressissä, on olemassa suodattimia ja muita tapoja käsitellä näitä tietoja ennen tekstin katkaisemista, mutta se ei ole helppoa tekstin katkaisemisessa PHP:ssä, eikö niin?

Joten käytä tätä ainakin puhtaasti tekstiä varten ja ota korkeintaan huomioon muun tyyppinen sisältö tekstissä ennen kuin siirrät sen preg_replace -tiedostoon, ja sinun pitäisi olla valmis.

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja