Php trim sträng från ände till tecken. Trimma en PHP-sträng: enkla sätt. Efter trimning lägger vi även till text

Fungera substr($string, $start, $length) , där $string är en variabel med text, $start är tecknet från vilket nedräkningen börjar (0 tas som första tecken), och $length är antalet tecken i vald text.

$text = "Exempel och text";

$först = substr($text,0,6); // Visar 6 tecken från 0:e, det allra första
echo $först; // kommer att mata ut "Exempel".

$second = substr($text,8,3); // Visar 3 tecken från och med den 8:e
echo $second; // kommer att skriva ut "och"
Om du inte anger parametern Antal tecken (andra siffran), kommer funktionen att visa alla återstående tecken

$text = "Exempel och text";

$tredje = substr($text,8); // Visar ALLA tecken från och med den 8:e
echo $tredje; // kommer att skriva ut "och text"

Trimma rysk text med PHP-funktionen mb_substr

Fungera mb_substr utför samma uppgifter som substr, men kan också hantera multibyte-kodningar. Därför, när det gäller rysk text, kommer det att vara användbart för dig mb_substr. Fungerar likadant

$text = "Exempeltext";

$first = mb_substr($text,0,6,"UTF-8"); // Visar 6 tecken från 0:e, det allra första
// OBS! Ange kodningen av källtexten! I det här fallet utf-8
echo $först; // kommer att visa "Exempel"

$second = mb_substr($text,7,6,"UTF-8"); // Visar 6 tecken från och med den 7:e
echo $second; // kommer att visa "text"
Observera att i fallet med kyrillisk (rysk text) är det bättre att ange kodningen i slutet av funktionen. Exemplet använder det mest populära alternativet - UTF-8

Trimma texten från slutet

Om du vill trimma texten från slutet kommer vi för att göra detta ange ett negativt tal för variabeln som anger vilket tecken textvalet börjar med

$text = "Sprite och Fanta";

$först = substr($text,-6,5); // Visar 5 tecken från och med den 6:e från slutet
echo $först; //kommer att skriva ut "Fant"

Efter trimning lägger vi även till text

Efter att ha trimmat variabeln med text, lägg till ytterligare text i slutet

$example = "Text text text text";

$exempel = substr($exempel,0,9); // Visar 9 tecken från 0:e, den allra första
$example .= "mer...";
echo $exempel; // kommer att visa "Texttext mer..."
Tvärtom kan du göra en inspelning i början och sedan trimma texten

$text = "Farbror";

$example = "George och Michael";
$example = substr($example,0,6); // Visar 6 tecken från 0:e, det allra första
$text .= $exempel;
echo $text; //kommer att skriva ut "Uncle George"

Trimma text till det första utrymmet

$text = "Hej världen!";
echo substr($text, 0, strpos($text, " ")); // Skriver ut "Hej"

Färdig PHP-funktion för att trimma text med PHP Words

function cut($string, $length)(
$string = mb_substr($string, 0, $length,"UTF-8"); // klipp och arbeta med alla kodningar och ange källkodningen
$position = mb_strrpos($string, " ", "UTF-8"); // bestämma positionen för det sista utrymmet. Det är genom detta vi skiljer orden åt.
$string = mb_substr($string, 0, $position, "UTF-8"); // Trimma variabeln efter position
return $string;
}

$text = "Nordkriget slutade 1721";
echo cut($text, 17); // kommer att visa "Northern War", utan delen av ordet "ended"

Du kan trimma med ord genom en array...

$text = "Microsoft grundades av Bill Gates redan 1975.";

$array = explode(" ",$text); // bearbeta strängen till en array
$array = array_slice($array,0,5); // välj de första 5 ordelementen
$newtext = implode(" ",$array); // konvertera arrayen tillbaka till en sträng

Echo $newtext;// Kommer att visa "Microsoft grundades av Bill Gates"

Adaptiv webbplatslayout innebär tillräckliga ändringar på dess sidor beroende på vilken enhet besökaren använder. Om när det gäller block och inline-element nästan allt kan "automatiseras" med CSS och JavaScript, då när man genererar innehåll och använder databaser är det svårt att klara sig utan serversidan.

Vi trunkerar vanligtvis en rad i PHP när ett HTML-layoutelement har en begränsning på antalet tecken som är synliga, men detta är en privat uppgift.

Traditionell lösning

En av de mest populära och ofta använda funktionerna är substr(). Två eller tre parametrar skickas till den:

    källsträng; startposition ($iPos); längden på delsträngen som ska skäras ($iLen).

Den sista parametern kan utelämnas. Om endast två parametrar anges: resultatet av substr() kommer att vara en delsträng, från startpositionen ($iPos) till slutet av den ursprungliga strängen. Om tre parametrar passerades trimmar vi PHP-strängen från startpositionen ($iPos) till den angivna längden ($iLen).

Att endast välja början av en sträng med denna funktion är möjligt när den första parametern är noll. Om den initiala positionen är negativ, kommer PHP att betrakta tecknet i position $iPos från slutet av strängen som början från vilken vi trunkerar strängen. Tecken på en rad numreras från noll.

Specialfunktion

PHP betraktar uppgiften att "klippa en sträng" (i vid bemärkelse) i sitt sammanhang: från båda sidor. Historiskt sett är detta trim()-funktionen, som syftar till att ta bort obetydliga tecken:

    utrymmen; radbrytningar; vagnretur; tabulering; nolltecken

från båda ändarna av linjen. Detta är en mycket populär funktion, särskilt när man arbetar med databaser, vars urval ofta innehåller många utrymmen. Att använda explode()-funktionen resulterar också ofta i extra tecken i början och slutet av strängen.

Det är dock inte alla utvecklare som använder trim()-funktionen till sin fulla potential. För uppgiften "trunkera en sträng" föreslår PHP att du använder den andra parametern i funktionen, där du kan ange vilken uppsättning tecken som helst som ska elimineras från källsträngen.


Det är viktigt att tecken endast tas bort från början och slutet av källsträngen. Det är viktigt att genom att manipulera maskerna för de tecken som ska raderas och sekvensen av deluppgifter.

    Först klippte vi av strängen i PHP en mask i taget. Sedan en till. Sedan på den tredje.

Som ett resultat av en sekvens av alternativ för att använda en funktion, klippte vi bort texten i PHP efter behov för att lösa uppgiften.

Icke-standardiserade metoder

Om vi ​​inte tar hänsyn till hela utbudet av strängfunktioner i språket, tillåter funktionsparet explode()/implode() och funktionen str_replace() oss att lösa icke-standardiserade problem med att "klippa ut" stränginformation.


Resultatet av en MySQL-fråga är alltid formellt i strukturen för den information som returneras, och innehållet i fälten (elementen) i resultatet bestäms alltid av källan, det vill säga utvecklaren som designade databasen.

Detta är ett speciellt exempel, men det svarar exakt på frågan: hur man trunkerar en rad i PHP när det finns många rader. Trm()-funktionen är en speciell, och dess historia bestämdes av uppgifter när det inte fanns mycket information, och det fanns inget behov av att skära bort något annat än obetydliga tecken.

Idag cirkulerar information i stora volymer och att skära rad för rad är inte bara onödigt utan också irrationellt.

Att dela upp i komponenter är också ett alternativ, som att skära en linje. PHP kommer automatiskt att använda explode() för att klippa en stor text i många obligatoriska rader. Genom att använda str_replace()-funktionen – det vill säga att ersätta en förekomst av tecken med en annan – kan du uppnå en liknande effekt.


Dynamiken och mängden information som behöver bearbetas är för det första en adekvat lösning och inte användningen av en speciell funktion.

Webbplatsen förutsätter tillräckliga ändringar på sina sidor beroende på vilken enhet som besökaren använder. Om när det gäller block och inline-element nästan allt kan "automatiseras" med CSS och JavaScript, då när man genererar innehåll och använder databaser är det svårt att klara sig utan serversidan.

Vi trunkerar vanligtvis en rad i PHP när ett HTML-layoutelement har en begränsning på antalet tecken som är synliga, men detta är en privat uppgift.

Traditionell lösning

En av de mest populära och ofta använda funktionerna är substr(). Två eller tre parametrar skickas till den:

  • källsträng;
  • startposition ($iPos);
  • längden på delsträngen som ska skäras ($iLen).

Den sista parametern kan utelämnas. Om endast två parametrar anges: resultatet av substr() kommer att vara en delsträng, från startpositionen ($iPos) till slutet av den ursprungliga strängen. Om tre parametrar passerades trimmar vi PHP-strängen från startpositionen ($iPos) till den angivna längden ($iLen).

Att endast välja början av en sträng med denna funktion är möjligt när den första parametern är noll. Om den initiala positionen är negativ, kommer PHP att betrakta tecknet i position $iPos från slutet av strängen som början från vilken vi trunkerar strängen. Tecken på en rad numreras från noll.

Specialfunktion

PHP betraktar uppgiften att "klippa en sträng" (i vid bemärkelse) i sitt sammanhang: från båda sidor. Historiskt sett är detta trim()-funktionen, som syftar till att ta bort obetydliga tecken:

  • utrymmen;
  • radbrytningar;
  • vagnretur;
  • tabulering;
  • nolltecken

från båda ändarna av linjen. Detta är en mycket populär funktion, särskilt när man arbetar med databaser, vars urval ofta innehåller många utrymmen. Att använda explode()-funktionen resulterar också ofta i extra tecken i början och slutet av strängen.

Det är dock inte alla utvecklare som använder trim()-funktionen till sin fulla potential. För uppgiften "trunkera en sträng" föreslår PHP att du använder den andra parametern i funktionen, där du kan ange vilken uppsättning tecken som helst som ska elimineras från källsträngen.

Det är viktigt att tecken endast tas bort från början och slutet av källsträngen. Det är viktigt att genom att manipulera maskerna för de tecken som ska raderas och sekvensen av deluppgifter.

  • Först klippte vi av strängen i PHP en mask i taget.
  • Sedan en till.
  • Sedan på den tredje.

Som ett resultat av en sekvens av alternativ för att använda en funktion, klippte vi bort texten i PHP efter behov för att lösa uppgiften.

Icke-standardiserade metoder

Om vi ​​inte tar hänsyn till hela utbudet av strängfunktioner i språket, tillåter funktionsparet explode()/implode() och funktionen str_replace() oss att lösa icke-standardiserade problem med att "klippa ut" stränginformation.

Resultatet av en MySQL-fråga är alltid formellt i strukturen för den information som returneras, och innehållet i fälten (elementen) i resultatet bestäms alltid av källan, det vill säga utvecklaren som designade databasen.

Detta är ett speciellt exempel, men det svarar exakt på frågan: hur man trunkerar en rad i PHP när det finns många rader. Trm()-funktionen är en speciell, och dess historia bestämdes av uppgifter när det inte fanns mycket information, och det fanns inget behov av att skära bort något annat än obetydliga tecken.

Idag cirkulerar information i stora volymer och att skära rad för rad är inte bara onödigt utan också irrationellt.

Att dela upp i komponenter är också ett alternativ, som att skära en linje. PHP kommer automatiskt att använda explode() för att klippa en stor text i många obligatoriska rader. Genom att använda str_replace()-funktionen – det vill säga att ersätta en förekomst av tecken med en annan – kan du uppnå en liknande effekt.

Dynamiken och mängden information som behöver bearbetas är för det första en adekvat lösning och inte användningen av en speciell funktion.