ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ» Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ php
Π£Π΄Π°Π»ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ» Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ php
(PHP 4, PHP 5, PHP 7, PHP 8)
trim β Π£Π΄Π°Π»ΡΠ΅Ρ ΠΏΡΠΎΠ±Π΅Π»Ρ (ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ) ΠΈΠ· Π½Π°ΡΠ°Π»Π° ΠΈ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΠ±ΡΠ΅Π·Π°Π΅ΠΌΠ°Ρ ΡΡΡΠΎΠΊΠ° ( string ).
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ trim()
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
ΠΡΠΈΠΌΠ΅Ρ #2 ΠΠ±ΡΠ΅Π·Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ trim()
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΡΡΠΊΠΈ: ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ· ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
User Contributed Notes 18 notes
When specifying the character mask,
make sure that you use double quotes
= »
Hello World » ; //here is a string with some trailing and leading whitespace
Non-breaking spaces can be troublesome with trim:
// PS: Thanks to John for saving my sanity!
?>
It is worth mentioning that trim, ltrim and rtrim are NOT multi-byte safe, meaning that trying to remove an utf-8 encoded non-breaking space for instance will result in the destruction of utf-8 characters than contain parts of the utf-8 encoded non-breaking space, for instance:
non breaking-space is «\u
$input = «\u
$output = trim($input, «\u
$output got both «\u
Care should be taken if the string to be trimmed contains intended characters from the definition list.
E.g. if you want to trim just starting and ending quote characters, trim will also remove a trailing quote that was intentionally contained in the string, if at position 0 or at the end, and if the string was defined in double quotes, then trim will only remove the quote character itself, but not the backslash that was used for it’s definition. Yields interesting output and may be puzzling to debug.
To remove multiple occurences of whitespace characters in a string an convert them all into single spaces, use this:
trim is the fastest way to remove first and last char.
This is the best solution I’ve found that strips all types of whitespace and it multibyte safe
Trim full width space will return mess character, when target string starts with ‘γ’
[EDIT by cmb AT php DOT net: it is not necessarily safe to use trim with multibyte character encodings. The given example is equivalent to echo trim(«\xe3\80\8a», «\xe3\x80\x80»).]
if you are using trim and you still can’t remove the whitespace then check if your closing tag inside the html document is NOT at the next line.
there should be no spaces at the beginning and end of your echo statement, else trim will not work as expected.
If you want to check whether something ONLY has whitespaces, use the following:
ΠΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PHP ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ» β Π²ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
ΠΠ°ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ: 2017-05-19
ΠΡ Π°Π²ΡΠΎΡΠ°: ΠΌΠΎΠΆΠ΅Ρ, ΡΠ»ΠΎΠ² Π½Π΅ Π²ΡΠΊΠΈΠ½Π΅ΡΡ ΠΈΠ· ΠΏΠ΅ΡΠ½ΠΈ. ΠΠΎ Π²ΠΎΡ Π² PHP ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠΎΡΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΡΠΈΠΌ ΠΈ Π·Π°ΠΉΠΌΠ΅ΠΌΡΡ.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄
ΠΠΌΠ΅Π΅ΡΡΡ Π² Π²ΠΈΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π² ΡΠ΄ΡΠΎ ΡΠ·ΡΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΉ. Π‘Π½Π°ΡΠ°Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ str_replace(). ΠΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°: ΡΠΈΠΌΠ²ΠΎΠ» Π·Π°ΠΌΠ΅Π½Ρ, Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΡΠΈΠΌΠ΅Ρ:
ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΊΡΡΡ ΠΏΠΎ PHP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΡΠ²ΠΎΠΉΡΠ΅ ΠΊΡΡΡ ΠΈ ΡΠ·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΡ Π½Π° PHP ΠΈ MySQL Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π½ΡΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ MVC
Π ΠΊΡΡΡΠ΅ 39 ΡΡΠΎΠΊΠΎΠ² | 15 ΡΠ°ΡΠΎΠ² Π²ΠΈΠ΄Π΅ΠΎ | ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ°
ΠΠΎ ΡΡΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΈΠ·ΡΡΡΠΈΡ Β«Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎΒ» ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΡΡΡΠΎΠΊΠΈ. ΠΠΎΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Π°:
ΠΠ΄Π΅ΡΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ substr(). Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΅ΠΉ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ΅ΡΡ ΡΡΡΠΎΠΊΡ, ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π·Π½Π°ΠΊΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠΉ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΎ, Π΅ΡΠ»ΠΈ Π·Π½Π°Π΅ΡΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΡΡΡΡ.
ΠΠΎΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠ°Ρ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. strstr() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°ΡΡΡ ΡΡΡΠΎΠΊΠΈ Π΄ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΅ΠΉ ΡΠΈΠΌΠ²ΠΎΠ»Π°. ΠΠ°ΠΊ ΠΎΡ Π½Π΅Π³ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ:
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ true ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π»Π΅Π²ΡΡ ΡΠ°ΡΡΡ ΡΡΡΠΎΠΊΠΈ ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°, Π½ΠΎ ΡΠΆΠ΅ Π±Π΅Π· Π½Π΅Π³ΠΎ.
Π Π΅Π³ΡΠ»ΡΡΠΊΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ
ΠΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π°, Π³ΠΎΡΠΏΠΎΠ΄Π°, Β«Π½Π° Π²ΡΠΎΡΠΎΠ΅Β» Ρ Π½Π°Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Β«Π½Π΅ΡΠ΄ΠΎΠ±Π½ΡΡ Β» ΡΠΈΡΡΠ°ΡΠΈΠΉ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ Π·Π½Π°ΠΊΠΎΠ²:
ΠΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅Π³ΡΠ»ΡΡΠΊΠ°ΠΌΠΈ preg_replace(). Π ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠΉ Π΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΎΠ½Π° ΠΈΡΠ΅Ρ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈ ΠΌΠ΅Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΠΈΠ·Π±Π°Π²ΠΈΠ»ΠΈΡΡ ΠΎΡ Π½ΡΠ»Π΅ΠΉ Π² ΡΠ΅ΠΊΡΡΠ΅.
ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΊΡΡΡ ΠΏΠΎ PHP ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΡΠ²ΠΎΠΉΡΠ΅ ΠΊΡΡΡ ΠΈ ΡΠ·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΡ Π½Π° PHP ΠΈ MySQL Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π½ΡΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ MVC
Π ΠΊΡΡΡΠ΅ 39 ΡΡΠΎΠΊΠΎΠ² | 15 ΡΠ°ΡΠΎΠ² Π²ΠΈΠ΄Π΅ΠΎ | ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ°
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° PHP
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° PHP Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΠ° ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ Π½Π° ΡΠ°ΠΉΡΠ΅
Π€ΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΡΠΎΠΊ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Perl-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡΠΎΠ²ΡΠΌΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡΠΎΠ²ΡΠΌΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
User Contributed Notes 24 notes
I’m converting 30 year old code and needed a string TAB function:
//tab function similar to TAB used in old BASIC languages
//though some of them did not truncate if the string were
//longer than the requested position
function tab($instring=»»,$topos=0) <
if(strlen($instring)
In response to hackajar yahoo
No string-to-array function exists because it is not needed. If you reference a string with an offset like you do with an array, the character at that offset will be return. This is documented in section III.11’s «Strings» article under the «String access and modification by character» heading.
I use these little doo-dads quite a bit. I just thought I’d share them and maybe save someone a little time. No biggy. π
Just a note in regards to bloopletech a few posts down:
The word «and» should not be used when converting numbers to text. «And» (at least in US English) should only be used to indicate the decimal place.
Example:
1,796,706 => one million, seven hundred ninety-six thousand, seven hundred six.
594,359.34 => five hundred ninety four thousand, three hundred fifty nine and thirty four hundredths
/*
* example
* accept only alphanum caracteres from the GET/POST parameters ‘a’
*/
/**
Utility class: static methods for cleaning & escaping untrusted (i.e.
user-supplied) strings.
Any string can (usually) be thought of as being in one of these ‘modes’:
pure = what the user actually typed / what you want to see on the page /
what is actually stored in the DB
gpc = incoming GET, POST or COOKIE data
sql = escaped for passing safely to RDBMS via SQL (also, data from DB
queries and file reads if you have magic_quotes_runtime on—which
is rare)
html = safe for html display (htmlentities applied)
Always knowing what mode your string is in—using these methods to
convert between modes—will prevent SQL injection and cross-site scripting.
This class refers to its own namespace (so it can work in PHP 4—there is no
self keyword until PHP 5). Do not change the name of the class w/o changing
all the internal references.
Example usage: a POST value that you want to query with:
$username = Str::gpc2sql($_POST[‘username’]);
*/
Example: Give me everything up to the fourth occurance of ‘/’.
to: james dot d dot baker at gmail dot com
PHP has a builtin function for doing what your function does,
//
// string strtrmvistl( string str, [int maxlen = 64],
// [bool right_justify = false],
// [string delimter = «
\n»])
//
// splits a long string into two chunks (a start and an end chunk)
// of a given maximum length and seperates them by a given delimeter.
// a second chunk can be right-justified within maxlen.
// may be used to ‘spread’ a string over two lines.
//
I really searched for a function that would do this as I’ve seen it in other languages but I couldn’t find it here. This is particularily useful when combined with substr() to take the first part of a string up to a certain point.
?>
Example: Give me everything up to the fourth occurance of ‘/’.
The functions below:
Are correct, but flawed. You’d need to use the === operator instead:
Here’s a simpler «simplest» way to toggle through a set of 1..n colors for web backgrounds:
Here’s an easier way to find nth.
I was looking for a function to find the common substring in 2 different strings. I tried both the mb_string_intersect and string_intersect functions listed here but didn’t work for me. I found the algorithm at http://en.wikibooks.org/wiki/Algorithm_implementation/Strings/Longest_common_substring#PHP so here I post you the function
A comprehensive concatenation function, that works with array and strings
function str_cat () <
$args = func_get_args () ;
Here is a truly random string generator it uses the most common string functions it will work on anywhere.
/*
Written By James Baker, May 27th 2005
sentenceCase($string);
$string: The string to convert to sentence case.
Converts a string into proper sentence case (First letter of each sentance capital, all the others smaller)
Example Usage:
echo sentenceCase(«HELLO WORLD. THIS IS A CAPITALISED SENTENCE. this isn’t.»);
Returns:
Hello world. This is a capitalised sentence. This isn’t.
*/
If you want a function to return all text in a string up to the Nth occurrence of a substring, try the below function.
(Pommef provided another sample function for this purpose below, but I believe it is incorrect.)
/*
// prints:
S: d24jkdslgjldk2424jgklsjg24jskgldjk24
1: d
2: d24jkdslgjldk
3: d24jkdslgjldk24
4: d24jkdslgjldk2424jgklsjg
5: d24jkdslgjldk2424jgklsjg24jskgldjk
6: d24jkdslgjldk2424jgklsjg24jskgldjk24
7: d24jkdslgjldk2424jgklsjg24jskgldjk24
*/
?>
Note that this function can be combined with wordwrap() to accomplish a routine but fairly difficult web design goal, namely, limiting inline HTML text to a certain number of lines. wordwrap() can break your string using
, and then you can use this function to only return text up to the N’th
.
You will still have to make a conservative guess of the max number of characters per line with wordwrap(), but you can be more precise than if you were simply truncating a multiple-line string with substr().
= ‘Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque id massa. Duis sollicitudin ipsum vel diam. Aliquam pulvinar sagittis felis. Nullam hendrerit semper elit. Donec convallis mollis risus. Cras blandit mollis turpis. Vivamus facilisis, sapien at tincidunt accumsan, arcu dolor suscipit sem, tristique convallis ante ante id diam. Curabitur mollis, lacus vel gravida accumsan, enim quam condimentum est, vitae rutrum neque magna ac enim.’ ;
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque id massa. Duis sollicitudin
ipsum vel diam. Aliquam pulvinar sagittis felis. Nullam hendrerit semper elit. Donec convallis
mollis risus. Cras blandit mollis turpis. Vivamus facilisis, sapien at tincidunt accumsan, arcu
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque id massa. Duis sollicitudin
ipsum vel diam. Aliquam pulvinar sagittis felis. Nullam hendrerit semper elit. Donec convallis
mollis risus. Cras blandit mollis turpis. Vivamus facilisis, sapien at tincidunt accumsan, arcu
dolor suscipit sem, tristique convallis ante ante id diam. Curabitur mollis, lacus vel gravida
I’ve prepared this simple function to obtain a string delimited between tags (not only XML tags!). Anybody needs something like this?.
Get the intersection of two strings using array_intersect
?>
For more advanced comparison you can use array_uintersect as well.
substr
(PHP 4, PHP 5, PHP 7, PHP 8)
substr β ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΡΠ»ΠΈ string ΠΌΠ΅Π½ΡΡΠ΅ offset ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π° ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°.
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° offset
ΠΡΠ»ΠΈ length ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠ°Ρ ΡΡΡΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ Π½Π΅ Π΄Π»ΠΈΠ½Π½Π΅Π΅ length ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° offset (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π΄Π»ΠΈΠ½Ρ string ).
ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ length ΠΎΠΏΡΡΠ΅Π½, ΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°, Π½Π°ΡΠΈΠ½Π°ΡΡΠ°ΡΡΡ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ offset ΠΈ Π΄Π»ΡΡΠ΅ΠΉΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ.
ΠΡΠΈΠΌΠ΅Ρ #2 ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° length
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ·Π²Π»Π΅ΡΡΠ½Π½ΡΡ ΡΠ°ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° string ΠΈΠ»ΠΈ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΈΠΌΠ΅Ρ #3 ΠΠ°Π·ΠΎΠ²ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ substr()
ΠΡΠΈΠΌΠ΅Ρ #4 substr() ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ²
class apple <
public function __toString () <
return «green» ;
>
>
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
ΠΡΠΈΠΌΠ΅Ρ #5 ΠΠ΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π² PHP 8:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π² PHP 7:
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
User Contributed Notes 36 notes
For getting a substring of UTF-8 characters, I highly recommend mb_substr
may be by following functions will be easier to extract the needed sub parts from a string:
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
Shortens the filename and its expansion has seen.
### SUB STRING BY WORD USING substr() and strpos() #####
### THIS SCRIPT WILL RETURN PART OF STRING WITHOUT WORD BREAK ###
Drop extensions of a file (even from a file location string)
= «c:/some dir/abc defg. hi.jklmn» ;
?>
output: c:/some dir/abc defg. hi
Hope it may help somebody like me.. (^_^)
PS:I’m sorry my english is too poor. π
If you want to have a string BETWEEN two strings, just use this function:
$string = «123456789» ;
$a = «12» ;
$b = «9» ;
If you need to parse utf-8 strings char by char, try this one:
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)
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
(direct access) 11.49
(strstr) 4.96
(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.
Here we have gr8 function which simply convert ip address to a number using substr with negative offset.
You can need it if you want to compare some IP addresses converted to a numbers.
For example when using ip2country, or eliminating same range of ip addresses from your website π
$min = ip2no ( «10.11.1.0» );
$max = ip2no ( «111.11.1.0» );
$visitor = ip2no ( «105.1.20.200» );
I created some functions for entity-safe splitting+lengthcounting:
I needed a function like lpad from oracle, or right from SQL
then I use this code :
Just a little function to cut a string by the wanted amount. Works in both directions.
Anyone coming from the Python world will be accustomed to making substrings by using a «slice index» on a string. The following function emulates basic Python string slice behavior. (A more elaborate version could be made to support array input as well as string, and the optional third «step» argument.)
The output from the examples:
c
cd
cdefg
abcd
abcd
efg
I have developed a function with a similar outcome to jay’s
Checks if the last character is or isnt a space. (does it the normal way if it is)
It explodes the string into an array of seperate works, the effect is. it chops off anything after and including the last space.
I needed to cut a string after x chars at a html converted utf-8 text (for example Japanese text like ε¬°θ¬°εΌ°θ°ζ¬°η½).
The problem was, the different length of the signs, so I wrote the following function to handle that.
Perhaps it helps.
Using a 0 as the last parameter for substr().
[English]
I created python similar accesing list or string with php substr & strrev functions.
About of pattern structures
[start:stop:step]
?>
Using this is similar to simple substr.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈΠ· ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ Π² PHP
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ Π½ΠΈΠΆΠ΅:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ rtrim (): ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π² PHP ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ (Π΅ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Ρ) Ρ ΠΏΡΠ°Π²ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΡΡΡΠΎΠΊΠΈ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π½ΠΈΠΆΠ΅:
ΠΡΠΈΠΌΠ΅Ρ: ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ rtrim () Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ‘.’ Ρ ΠΊΠΎΠ½ΡΠ°.
// ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π΅Π΅
$string = «GeeksforGeeks is a best platform. » ;
// ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ rtrim () Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π·ΠΊΠΈ
// ΡΡΡΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π°
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ preg_replace (): ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π² PHP ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π½ΠΈΠΆΠ΅:
ΠΡΠΈΠΌΠ΅Ρ 2: Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ preg_replace () ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ‘.’ Ρ ΠΊΠΎΠ½ΡΠ°.
// ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π΅Π΅
$string = «GeeksforGeeks is a best platform. » ;
// Π‘ΠΈΠΌΠ²ΠΎΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ
// ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ preg_replace () Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ
// ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ