After much banging-head-on-table, I have a bit better understanding of the issue that I wanted to post for anyone else who may have had this issue.
While the UTF-8 character set will display special characters on the client, the server, on the other hand, may not be so accomodating and would print special characters such as à
and è
as �
and �
.
To make sure your server will print them correctly, use the ISO-8859-1
charset:
Untitled Document
This will print correctly: àè
Edit [4 years later]:
I have a little better understanding now. The reason this works is that the client [browser] is being told, through the response header[]
, to expect an ISO-8859-1
text/html file. [As others have mentioned, you can also do this by updating your .ini
or .htaccess
files.] Then, once the browser begins to parse that given file into the DOM, the output will obey any rule but keep your ISO characters
intact.
View Discussion
Improve Article
Save Article
View Discussion
Improve Article
Save Article
In this article, we will get the position of the character in the given string in PHP. String is a set of characters. We will get the position of the character in a string by using strpos[] function.
Syntax:
strpos[string, character, start_pos]
Parameters:
- string [mandatory]: This parameter refers to the original string in which we need to search the occurrence of the required string.
- character [mandatory]: This parameter refers to the string that we need to search.
- start_pos [optional]: Refers to the position of the string from where the search must begin.
Return Value: It returns the index position of the character.
Example 1: PHP Program to get the position of particular character in the given string.
PHP
Example 2:
PHP
[PHP 4, PHP 5, PHP 7, PHP 8]
substr — Return part of a string
Description
substr[string $string
, int $offset
, ?int $length
= null
]: string
Parameters
string
The input string.
offset
If offset
is non-negative, the returned string will start at the offset
'th position in string
, counting from zero. For instance, in the string 'abcdef
', the character at position 0
is 'a
', the character at position 2
is 'c
', and so forth.
If offset
is negative, the returned string will start at the
offset
'th character from the end of string
.
If string
is less than offset
characters long, an empty string will be returned.
Example #1 Using a negative offset
length
If length
is given and is positive, the string returned will contain at most length
characters beginning from offset
[depending on the length of string
].
If length
is given and is
negative, then that many characters will be omitted from the end of string
[after the start position has been calculated when a offset
is negative]. If offset
denotes the position of this truncation or beyond, an empty string will be returned.
If length
is given and is 0
, an empty string will be returned.
If length
is omitted or null
, the substring starting from offset
until the end of the string will be returned.
Example #2 Using a negative length
Return Values
Returns the extracted part of string
, or an empty string.
Changelog
8.0.0 | length is nullable now. When length is explicitly set to null , the function returns a substring finishing at the end of the string, when it previously returned an empty string.
|
8.0.0 | The function returns an empty string where it previously returned false .
|
Examples
Example #3 Basic substr[] usage
Example #4 substr[] casting behaviour
The above example will output:
1] 'pe' 2] '54' 3] 'gr' 4] '1' 5] '' 6] '' 7] '1200'
Example #5 Invalid Character Range
If an invalid character range is requested, substr[] returns an empty string as of PHP 8.0.0; previously, false
was returned instead.
Output of the above example in PHP 8:
Output of the above example in PHP 7:
See Also
- strrchr[] - Find the last occurrence of a character in a string
- substr_replace[] - Replace text within a portion of a string
- preg_match[] - Perform a regular expression match
- trim[] - Strip whitespace [or other characters] from the beginning and end of a string
- mb_substr[] - Get part of string
- wordwrap[] - Wraps a string to a given number of characters
- String access and modification by character
Andreas Bur [andreas dot buro at gmail dot com] ¶
13 years ago
For getting a substring of UTF-8 characters, I highly recommend mb_substr
biohazard dot ge at gmail dot com ¶
9 years ago
may be by following functions will be easier to extract the needed sub parts from a string:
here comes the source:
bleakwind at msn dot com ¶
17 years ago
This returns the portion of str specified by the start and length parameters..
It can performs multi-byte safe on number of characters. like mb_strcut[] ...
Note:
1.Use it like this bite_str[string str, int start, int length [,byte of on string]];
2.First character's position is 0. Second character position is 1, and so on...
3.$byte is one character length of your encoding, For example: utf-8 is "3", gb2312 and big5 is "2"...you can use the function strlen[] get it...
Enjoy it :] ...
--- Bleakwind
QQ:940641
//www.weaverdream.com
PS:I'm sorry my english is too poor... :[
greg at apparel dot com ¶
8 years ago
Coming to PHP from classic ASP I am used to the Left[] and Right[] functions built into ASP so I did a quick PHPversion. hope these help someone else making the switch
function left[$str, $length] {
return substr[$str, 0, $length];
}
function right[$str, $length] {
return substr[$str, -$length];
}
pugazhenthi k ¶
9 years ago
nikolai dot wuestemann at t-online dot de ¶
11 years ago
If you want to have a string BETWEEN two strings, just use this function:
Petez ¶
15 years ago
I wanted to work out the fastest way to get the first few characters from a string, so I ran the following experiment to compare substr, direct string access and strstr:
[substr] 3.24 [With standard deviations 0.01, 0.02 and 0.04] THEREFORE substr is the fastest of the three methods for getting the first few letters of a string.
The string was 6 paragraphs of Lorem Ipsum, and I was trying match the first two words. The experiment was run 3 times and averaged. The results were:
[direct access] 11.49
[strstr] 4.96
gkhelloworld at gmail dot com ¶
13 years ago
Shortens the filename and its expansion has seen.
kaysar in ymail in com ¶
13 years ago
Drop extensions of a file [even from a file location string]
Hope it may help somebody like me.. [^_^]
output: c:/some dir/abc defg. hi
Anonymous ¶
4 years ago
Be aware of a slight inconsistency between substr and mb_substr
mb_substr["", 4]; returns empty string
substr["", 4]; returns boolean false
tested in PHP 7.1.11 [Fedora 26] and PHP 5.4.16 [CentOS 7.4]
link ¶
13 years ago
I created some functions for entity-safe splitting+lengthcounting:
pheagey at gmail dot com ¶
10 years ago
Using a 0 as the last parameter for substr[].
As per examples
works no problem. However
will get you nothing. Just a quick heads up
Cristianlf ¶
11 years ago
I needed a function like lpad from oracle, or right from SQL
then I use this code :
regards,
Result:
4152
------------------------------------------------
This function is really simple, I just wanted to share, maybe helps someone out there.
fanfatal at fanfatal dot pl ¶
17 years ago
Hmm ... this is a script I wrote, whitch is very similar to substr, but it isn't takes html and bbcode for counting and it takes portion of string and show avoided [html & bbcode] tags too ;]
Specially usefull for show part of serach result included html and bbcode tags
Using this is similar to simple substr.
Greatings ;]
...
fatihmertdogancan at hotmail dot com ¶
8 years ago
[English]
I created python similar accesing list or string with php substr & strrev functions.
Use: str[$string,$pattern]
About the python pattern,
//docs.python.org/release/1.5.1p1/tut/strings.html
//effbot.org/zone/python-list.htm
About of pattern structures
[start:stop:step]
Example,
Output,
thetoacn
eht
aom
htan
This is function phpfiddle link: //phpfiddle.org/main/code/e82-y5d
or source;
Good works..
egingell at sisna dot com ¶
15 years ago