Vanliga
HTML inriktade
Regexp
Regexp i PHP
Övriga
1.9.1 Vanliga
ord
Används för att få ASCII (ANSI) värdet av en sträng
(tecken).
<?php
$sträng = "A";
echo "ASCII värdet av $sträng är " . ord($sträng) . "<br>";
$sträng = "Anders";
echo "ASCII värdet av $sträng är " . ord($sträng) . "<br>";
?>
Listning 1.9.1.1 - samples/s52.php
ASCII värdet av A är 65 ASCII värdet av Anders är 65
Resultat av listning 1.9.1.1
chr
Används för att få tecknet för en viss ASCII (ANSI)
kod.
<?php
$siffra = 72;
echo "Tecknet för ASCII värdet $siffra är " . chr($siffra) . "<br>";
?>
Listning 1.9.1.2 - samples/s53.php
Tecknet för ASCII värdet 72 är H
Resultat av listning 1.9.1.2
substr
Används för att söka delsträngar ur en sträng
<?php
# syntax
# string substr (string string, int start [, int length])
$sträng = "abcdef";
echo "Strängen är \"$sträng\"<br>";
echo "substr(\$sträng,2) ger " . substr($sträng,2) . "<br>";
echo "substr(\$sträng,2,3) ger " . substr($sträng,2,3) . "<br>";
echo "substr(\$sträng,0,3) ger " . substr($sträng,0,3) . "<br>";
# negativ startvärde ger right liknande resultat
echo "substr(\$sträng,-1) ger " . substr($sträng,-1) . "<br>";
echo "substr(\$sträng,-3) ger " . substr($sträng,-3) . "<br>";
?>
Listning 1.9.1.3 - samples/s54.php
Strängen är "abcdef" substr($sträng,2) ger cdef substr($sträng,2,3) ger cde substr($sträng,0,3) ger abc substr($sträng,-1) ger f substr($sträng,-3) ger def
Resultat av listning 1.9.1.3
strpos och strrpos
Ger index för en sökt delsträng. strpos söker från
början, strrpos från slutet
<?php
# strpos
# string strpos (string haystack, string needle)
$sträng = "abcdef";
echo "Strängen är \"$sträng\"<br>";
echo "strpos(\$sträng,\"cd\") ger " . strpos($sträng,"cd") . "<br>";
echo "strpos(\$sträng,\"e\") ger " . strpos($sträng,"e") . "<br>";
echo "strpos(\$sträng,\"a\") ger " . strpos($sträng,"a") . "<br>";
echo "strpos(\$sträng,\"x\") ger " . strpos($sträng,"x") . "<br>";
# för att kolla om den
$pos = strpos($sträng,"x");
if ( $pos == false )
{
echo "Hittade inget x<br>";
}
# strrpos
# string strrpos (string haystack, string needle)
# söker bakifrån
$sträng = "abcdefabcdef";
echo "strrpos(\$sträng,\"a\") ger " . strrpos($sträng,"a") . "<br>";
?>
Listning 1.9.1.4 - samples/s55.php
Strängen är "abcdef" strpos($sträng,"cd") ger 2 strpos($sträng,"e") ger 4 strpos($sträng,"a") ger 0 strpos($sträng,"x") ger Hittade inget x strrpos($sträng,"a") ger 6
Resultat av listning 1.9.1.4
strtolower, strtoupper
, ucfirst, ucwords
Sätter alla tecken i en sträng till små bokstäver
(strtolower), stora bokstäver (strtoupper) , sätter första
tecken i strängen till stor bokstav (ucfirst) sätter första
tecknet i varje ord till stor bokstav (ucwords)
<?php
# strtolower
# string strtolower (string)
$sträng = "En testSTRäng";
echo "Strängen är \"$sträng\"<br><br>";
echo "strtolower(\$sträng) ger " . strtolower($sträng) . "<br>";
echo "<br>";
# strtoupper
# string strtoupper (string)
echo "strtoupper(\$sträng) ger " . strtoupper($sträng) . "<br>";
echo "<br>";
# ucfirst
# string ucfirst (string)
echo "ucfirst(\$sträng) ger " . ucfirst($sträng) . "<br>";
echo "ucfirst(strtolower(\$sträng)) ger "
. ucfirst(strtolower($sträng)) . "<br>";
echo "<br>";
# ucwords
# string ucwords (string)
echo "ucwords(\$sträng) ger " . ucwords($sträng) . "<br>";
echo "ucwords(strtolower(\$sträng)) ger "
. ucwords(strtolower($sträng)) . "<br>";
?>
Listning 1.9.1.5 - samples/s56.php
Strängen är "En testSTRäng"
strtolower($sträng) ger en teststräng
strtoupper($sträng) ger EN TESTSTRäNG
ucfirst($sträng) ger En testSTRäng ucfirst(strtolower($sträng)) ger En teststräng
ucwords($sträng) ger En TestSTRäng ucwords(strtolower($sträng)) ger En Teststräng
Resultat av listning 1.9.1.5
strlen
Ger längden av en sträng.
<?php
# strlen
# int strlen (string)
$sträng = "En testSTRäng";
echo "Strängen är \"$sträng\"<br>";
echo "strlen(\$sträng) ger " . strlen($sträng) . "<br>";
?>
Listning 1.9.1.6 - samples/s57.php
Strängen är "En testSTRäng" strlen($sträng) ger 13
Resultat av listning 1.9.1.6
ltrim, rtrim
och trim
Tar bort extra mellanslag i början, slutet eller både början
och slutet.
<?php
$sträng = " en sträng ";
echo "<pre>"; # måste sätta pre så att mellanslagen syns
echo "Strängen är \"$sträng\"<br>";
echo "ltrim(\$sträng) ger \"" . ltrim($sträng) . "\"<br>";
echo "rtrim(\$sträng) ger \"" . rtrim($sträng) . "\"<br>";
echo "trim(\$sträng) ger \"" . trim($sträng) . "\"<br>";
# ett alias för rtrim är chop
echo "chop(\$sträng) ger \"" . chop($sträng) . "\"<br>";
echo "</pre>";
?>
Listning 1.9.1.7 - samples/s58.php
Strängen är " en sträng " ltrim($sträng) ger "en sträng " rtrim($sträng) ger " en sträng" trim($sträng) ger "en sträng" chop($sträng) ger " en sträng"
Resultat av listning 1.9.1.7
strcmp, strcasecmp
Jämför strängar. strcasecmp beaktar a och A som samma
bokstav (case-insensitive)
<?php
# bägge funktionerna returnerar:
# 0 om strängarna var lika
# < 0 om den första strängen var mindre
# > 0 om den första strängen var större
# observera att detta inte nödvändigtvis betyder att de
# returnerar -1, 0 och 1 utan jämför uttryckligen med mindre
# än 0 eller större än 0
$var1 = "Hello";
$var2 = "hello";
if ( 0 == strcmp($var1, $var2))
{
echo '$var1 är lika med $var2 enligt strcmp<br>';
}
if ( 0 == strcasecmp($var1, $var2))
{
echo '$var1 är lika med $var2 enligt strcasecmp<br>';
}
# eftersom false är definierat till 0
# och true till allt annat kan du inte
# jämföra på följande sätt
if ( strcasecmp($var1, $var2 ) )
{
echo '$var1 är lika med $var2 enligt strcasecmp<br>';
}
# däremot funkar följande men det blir en "konstig"
# programlogik - jämför alltid med 0
if ( !strcasecmp($var1, $var2 ) )
{
echo '$var1 är lika med $var2 enligt strcasecmp<br>';
}
?>
Listning 1.9.1.8 - samples/s59.php
$var1 är lika med $var2 enligt strcasecmp $var1 är lika med $var2 enligt strcasecmp
Resultat av listning 1.9.1.8
str_replace
Byter ut alla förekomster av en delsträng till annan.
<?php
$orginal = "Alla är så glada, så glada";
$sök = "glada";
$ersätt = "sura";
# Observera att ordningsföljden inte
# är densamma som i VB
echo str_replace( $sök, $ersätt, $orginal );
?>
Listning 1.9.1.9 - samples/s62.php
Alla är så sura, så sura Resultat av listning 1.9.1.9
str_pad
<?php
$text = str_pad(" ", 10); # som VB:s Space(10);
echo "<pre>|" . $text . "|</pre>";
$sträng = "ABC";
echo str_pad($sträng, 10 , "_") . "<br />";
echo str_pad($sträng, 10 , "_", STR_PAD_LEFT) . "<br />";
echo str_pad($sträng, 10 , "_", STR_PAD_RIGHT) . "<br />";
echo str_pad($sträng, 10 , "_", STR_PAD_BOTH) . "<br />";
?>
Listning 1.9.1.10 - samples/s63.php
| | ABC_______ _______ABC ABC_______ ___ABC____ Resultat av listning 1.9.1.10
strrev
Svänger om texten i strängen
<?php
$texten = "abcdefg";
# texten okonverterad
echo "Orginal: " . $texten;
echo "<br>";
# texten omvsvängs
echo "Efter strrev: " . strrev($texten);
?>
Listning 1.9.1.11 - samples/s81.php
Orginal: abcdefg Efter strrev: gfedcba Resultat av listning 1.9.1.11
|